我有一个带有dropover事件处理程序的droppable元素。在droppable上拖动元素会扩展节点。但是,我想添加一个延迟,以便节点不会立即扩展,即你必须在可放置的droppable上保持一秒钟才能扩展。
droppable.over = function(event, ui) {
// expand node if dragover lasts 1000 milliseconds
node.expand();
};
我的第一个想法就是在setTimeout
上使用node.expand()
,但这不符合我的要求,只会延迟节点扩展。它看起来不像我可以设置任何配置来实现这一点,所以我想知道我该怎么做。
答案 0 :(得分:4)
这样的事可能吗?
var globalTimer;
//..
droppable.over = function(event, ui)
{
globalTimer = setTimeout(function(){node.expand()}, 1000);
},
droppable.out = function(event, ui)
{
clearTimeout(globalTimer);
};
答案 1 :(得分:0)
尝试添加此setTimeout(function () { node.expand() }, 1000);
但我可能误解了您,您希望节点稍后出现还是仅在其停留在droppable中1000毫秒时才会显示?