我有一个这样的简单列表:
<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>
我使用dojo属性使列表可以排序。
它没有任何问题,但是如何在删除项目时为事件添加侦听器?如果用户释放鼠标并且元素快照到位,我想要一个javascript函数来处理这个事件。如何通过标记添加它?
答案 0 :(得分:4)
您可能感兴趣的扩展点是Source上的onDrop
方法。您可以使用解析器理解的<script type="dojo/...">
语法以声明方式完成此操作,例如:
<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>
请注意,我连接到方法,因为dojo.dnd.Source
的{{1}}方法中有重要的功能,以及它在默认实现中调用的方法;如果我通过使用onDrop
来覆盖该函数,则该默认功能将被破坏。
以下SitePen博客文章提供了有关此解析器中此功能的更多信息:http://www.sitepen.com/blog/2007/09/21/dojo-09-power-tools-script-typedojomethod/