Javascript dojo拖放:如何为拖放事件添加处理程序
我有这样一个简单的列表:Javascript dojo拖放:如何为拖放事件添加处理程序,javascript,drag-and-drop,dojo,Javascript,Drag And Drop,Dojo,我有这样一个简单的列表: <div dojoType="dojo.dnd.Source" id="myList"> <div class="dojoDndItem">item 1</div> <div class="dojoDndItem">item 2</div> <div class="dojoDndItem">item 3</div> </div> 项目1 项目2 项
<div dojoType="dojo.dnd.Source" id="myList">
<div class="dojoDndItem">item 1</div>
<div class="dojoDndItem">item 2</div>
<div class="dojoDndItem">item 3</div>
</div>
项目1
项目2
项目3
我使用dojo属性使列表可排序
它工作起来没有任何问题,但是当项目被删除时,如何向事件添加侦听器呢?如果用户释放鼠标,元素捕捉到位,我需要一个javascript函数来处理此事件。如何通过标记添加它?您可能感兴趣的扩展点是源代码上的
onDrop
方法。您可以使用解析器理解的
语法以声明方式完成此操作,例如:
<div dojoType="dojo.dnd.Source" id="myList">
<script type="dojo/connect" event="onDrop" args="source, nodes, copy">
console.log('received drop event:', source, nodes, copy);
</script>
<div class="dojoDndItem">item 1</div>
<div class="dojoDndItem">item 2</div>
<div class="dojoDndItem">item 3</div>
</div>
log('接收到的丢弃事件:',源,节点,副本);
项目1
项目2
项目3
注意,我之所以连接到这个方法,是因为dojo.dnd.Source
的onDrop
方法以及它在默认实现中调用的方法中有重要的功能;如果我使用
替代该函数,则默认功能将被破坏
以下SitePen博客文章提供了有关解析器中提供的此功能的更多信息: