我希望能够单击或双击也可拖动的元素。如何才能做到这一点?我尝试了各种click(),dblclick()和其他方法,到目前为止还没有。
我目前有一个尴尬的解决方法,比较mouseup和mousedown事件之间的毫秒数,但这仍然需要将元素拖动至少一个像素。
我希望能够像按钮一样点击它,而不必先拖动它。
答案 0 :(得分:1)
您可以使用短延迟来防止随意拖动,只需点击即可。
$('.draggable').draggable({ delay: 200 });
答案 1 :(得分:0)
假设你不介意拥有一个子元素来接收可拖动外部元素的点击次数,那么可以采取这种方法:
$('#draggableDiv').draggable(
{
cancel : 'a'
});
cancel
选项使用CSS / jQuery选择器来标识哪些元素不应被视为拖动事件的触发器。
已编辑,以解决这样一个事实:至少在Chromium 16 / Ubuntu 11.04中,元素出现是可点击的双击和同时可拖动:JS Fiddle example。
答案 2 :(得分:0)
其他两个解决方案都没有为我工作,以下是:
$('#draggableDiv').mousedown(function () {
var thisone=$(this);
setTimeout(function(){
thisone.attr("draggable","true");
},200);
});