2017-06-04 38 views
0

我想同时使用可拖动距离和延迟参数。目标是,我不需要移动鼠标来启动拖动效果,但它应该在500毫秒后开始,以防止意外移动。jQuery可拖动:距离和延迟同时不起作用

这似乎不起作用。下面是一个例子给你测试:

$('.cube').draggable(
{ 
    distance: 0, 
    delay: 500, 
    start : function() 
    { 
    $('.cube').css('background', 'green'); 
    }, 
    stop: function() 
    { 
    $('.cube').css('background', 'red'); 
    } 
}); 

http://jsfiddle.net/MfegM/2392/

正因为如此,如果单击不移动,也不会拖累。当你删除延迟选项时,它将拖动而不移动,但立即。

因此,这是一个错误功能和是否有任何解决方法?

问候

克劳斯

回答

0

发生这种情况的原因延迟不会启动所有功能相同的时间,我相信这个错误,但是,您可以使用其他函数来增加您的代码。

$('.cube').mousedown(function() 
{ 
     $(this).css('background', 'green'); 
}) 

$('.cube').mouseup(function() 
{ 
     $(this).css('background', 'red'); 
}) 

这个工作很好,我希望这段代码能帮助你。

http://api.jqueryui.com/draggable/#option-delay