Cin*_*lla 1 jquery jquery-ui backbone.js
我对以下事件有看法。查看ID为“文件夹块”。我的元素是View像这样:
<ul>
<li></li>
<li></li>
<li></li>
</u>
<ul>
<li>
<ul></ul>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
以下是骨干事件。
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,
});
}
Run Code Online (Sandbox Code Playgroud)
当我将一个li从一个ul拖到另一个ul时,它仅被调用一次。当我将li元素拖到同一ul元素内的另一个li元素时,回调函数被调用两次。
如何解决此问题。
尝试greedy在droppable定义中将option 设置为true:
默认情况下,将元素放置在嵌套的可放置对象上时,每个可放置对象将接收该元素。但是,通过将此选项设置为true,任何父代可放置对象都不会接收该元素。drop事件仍然会正常冒泡,但是可以检查event.target以查看哪个droppable接收了draggable元素。
码:
$('#folders li').droppable({
drop: this.cardDrop,
greedy: true
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2508 次 |
| 最近记录: |