调用两次的可放置方法的Jquery drop回调
Posted
技术标签:
【中文标题】调用两次的可放置方法的Jquery drop回调【英文标题】:Jquery drop callback of droppable method called twice 【发布时间】:2013-10-13 20:13:41 【问题描述】:我对以下事件有看法。视图 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 元素时,drop 回调函数被调用了两次。
如何解决这个问题。
【问题讨论】:
【参考方案1】:尝试在可放置定义上将 greedy
选项设置为 true:
默认情况下,当一个元素被拖放到嵌套的 droppable 上时,每个 droppable 将接收该元素。但是,通过将此选项设置为 是的,任何父级 droppables 都不会接收到该元素。下降 事件仍然会正常冒泡,但可以检查 event.target 查看哪个 droppable 接收到了可拖动元素。
代码:
$('#folders li').droppable(
drop: this.cardDrop,
greedy: true
);
【讨论】:
以上是关于调用两次的可放置方法的Jquery drop回调的主要内容,如果未能解决你的问题,请参考以下文章