2010-10-19 63 views
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> 

我使用Dojo屬性,使列表排序。

它工作沒有任何問題,但如何刪除項目時添加偵聽器到事件?如果用戶釋放鼠標並且元素捕捉到位,我想要一個javascript函數來處理這個事件。我如何通過標記添加它?

回答

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.SourceonDrop方法中重要的功能,並且這些方法是調用在其默認實現中;如果我使用<script type="dojo/method">而不是使用<script type="dojo/method">來覆蓋該函數,那麼該默認功能將會被破壞。

以下SitePen博客文章提供瞭解析器中此功能的更多信息:http://www.sitepen.com/blog/2007/09/21/dojo-09-power-tools-script-typedojomethod/