Точка расширения, которую вы, вероятно, интересуете, - это метод onDrop
в Source.Вы можете использовать синтаксис <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
есть важные функцииметод onDrop
и методы, которые он вызывает в реализации по умолчанию;если бы я вместо этого переопределил функцию с помощью <script type="dojo/method">
, эта функциональность по умолчанию была бы перекрыта.
Следующий пост в блоге SitePen дает больше информации об этой функции, доступной в анализаторе: http://www.sitepen.com/blog/2007/09/21/dojo-09-power-tools-script-typedojomethod/