gpt4 book ai didi

javascript - 拖动链接时阻止 `click`

转载 作者:行者123 更新时间:2023-11-29 16:14:50 25 4
gpt4 key购买 nike

我正在使用 gridster 制作链接网格。单击该链接时,该链接应该可以正常工作。问题是它在拖动后也会被点击。拖动后如何阻止点击?

请检查:http://jsfiddle.net/b_m_h/tr4cU/

<div class="gridster">
<ul id="reszable">
<li data-row="1" data-col="1" data-sizex="1" data-sizey="1"></li>
<li data-row="2" data-col="1" data-sizex="1" data-sizey="1"></li>
<li data-row="3" data-col="1" data-sizex="1" data-sizey="1"><a href="http://google.com" target="_blank">LINK</a></li>
<li data-row="1" data-col="2" data-sizex="2" data-sizey="1"></li>
<li data-row="2" data-col="2" data-sizex="2" data-sizey="2"></li>
<li data-row="1" data-col="4" data-sizex="1" data-sizey="1"></li>
</ul>
</div>

Js:

$(function(){

$(".gridster ul").gridster({
widget_margins: [5, 5],
widget_base_dimensions: [100, 100]
});

var gridster = $(".gridster ul").gridster().data('gridster');

});

最佳答案

不知道是否有内置的东西,因为 jQuery draggable 有这个选项,但找不到 gridster 的类似东西。

您始终可以自己创建功能:

$(".gridster ul").gridster({
widget_margins: [5, 5],
widget_base_dimensions: [100, 100]
}).on({
mousedown: function(e) {
$(this).data({top: e.pageX, left: e.pageY});
},
mouseup: function(e) {
var top = e.pageX,
left = e.pageY,
ptop = $(this).data('top'),
pleft = $(this).data('left');

$(this).data('dragged', Math.abs(top - ptop) > 15 || Math.abs(left - pleft) > 15);
},
click: function(e) {
if ( $(this).data('dragged') ) e.preventDefault();
}
}, 'a');

FIDDLE

关于javascript - 拖动链接时阻止 `click`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18311746/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com