jQuery droppable - 在将“div”放置在可放置区域2秒后触发特殊事件

时间:2016-11-01 21:44:03

标签: jquery jquery-ui jquery-ui-draggable jquery-ui-droppable

我正在尝试创建一个只在可拖动区域被放置在可放置区域上至少2秒时执行的功能。这意味着如果在2秒内删除或删除了拖动,则该功能不会执行。

我自己的逻辑带我走向以下方向,这看起来是否正确?

over: function (){
    // Execute a timeout function after 2 seconds
},
out: function(){
    // Cancel the function
},
drop: function(){
    // Cancel the function
}

如果是这样的话...如何取消已启动的功能?如果没有,还有另一种方法可以完成我想要做的事情吗?

2 个答案:

答案 0 :(得分:0)

你可能想要获得2个州。  1.可拖动的事件状态  2. droppable:悬停事件状态。

droppable:hover的超时时间为2秒 您希望确保仅在存在2个事件时才触发事件。

当你放弃时你会徘徊,所以如果触发了droppable事件你想要取消该功能

答案 1 :(得分:0)

我正在寻找与您完全相同的解决方案并在此处找到它: Adding a delay to droppable event

AceCorbans解决方案的格式有点不同,我习惯以你的例子的风格来看待它。但是,只需将droppable.over = function{event, ui}视为drop: function(){}的等效内容,它也适用于您!