Jquery删除了两次调用droppable方法的回调
我对以下事件有一个看法。 视图ID是“文件夹块”。 我的元素是View是这样的:
-
以下是骨干事件。
events{ "mousedown .all-folders": "dragCustomFolders" }, dragCustomFolders: function(e){ $('#folders ul li').draggable({ cursor: 'move', drag: this.dragElement, revert: "invalid" }); $('#folders li').droppable({ drop: this.cardDrop, }); }
当我将li从一个ul拖到另一个ul时,只会调用一次。 当我将li元素拖到同一个ul元素中的另一个li元素时,调用两次drop回调函数。
如何解决这个问题。
在droppable定义上尝试将greedy
选项设置为true:
默认情况下,在嵌套的droppable上放置元素时,每个droppable都将接收该元素。 但是,通过将此选项设置为true,任何父级droppable都不会接收该元素。 drop事件仍然会正常冒泡,但可以检查event.target以查看哪个droppable收到了draggable元素。
码:
$('#folders li').droppable({ drop: this.cardDrop, greedy: true });