我有以下事件的观点。视图ID是“文件夹块”。 我的元素是View是这样的:
<ul>
<li></li>
<li></li>
<li></li>
</u>
<ul>
<li>
<ul></ul>
</li>
</ul>
以下是骨干事件。
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元素时,将调用两次回调函数。
如何解决此问题。
答案 0 :(得分:4)
在droppable定义中尝试将greedy
选项设置为true:
默认情况下,在嵌套的droppables上删除元素时 droppable将收到该元素。但是,通过将此选项设置为 如果是,任何父级droppable都不会收到该元素。下降 事件仍会正常冒泡,但可以检查event.target 看看哪个droppable收到了可拖动的元素。
代码:
$('#folders li').droppable({
drop: this.cardDrop,
greedy: true
});