WEB开发网
开发学院软件开发Java 掌握 Dojo 工具包,第 4 部分: Dojo 中的拖拽 阅读

掌握 Dojo 工具包,第 4 部分: Dojo 中的拖拽

 2009-11-05 00:00:00 来源:WEB开发网   
核心提示: 在清单 5 中声明了四个可拖动实体,其中两个是以静态 Dojo 标签属性的方式声明,掌握 Dojo 工具包,第 4 部分: Dojo 中的拖拽(7),另外两个是以动态的方式声明,捕获拖动中的事件Dojo 通过事件订阅发布机制实现了方便易用的捕获拖动事件 API ,只希望监测某一个可拖动实体的事件

在清单 5 中声明了四个可拖动实体,其中两个是以静态 Dojo 标签属性的方式声明,另外两个是以动态的方式声明。

捕获拖动中的事件

Dojo 通过事件订阅发布机制实现了方便易用的捕获拖动事件 API 。 Dojo 在拖动开始、结束和过程中会发出一些消息,如果希望监测到页面内可拖动实体的拖动开始事件和拖动结束事件可以通过订阅“/dnd/move/start” 和“/dnd/move/stop”来实现


清单 6

 <script type="text/javascript"> 
 dojo.require("dojo.dnd.move"); 
 dojo.require("dojo.parser"); 
 dojo.addOnLoad 
 ( 
 function() 
 { 
 dojo.subscribe("/dnd/move/start",function(node){// 订阅开始拖动事件 
 console.debug("Start move", node) 
 } 
 ); 
 dojo.subscribe("/dnd/move/stop",function(node){// 订阅拖动结束事件 
 console.debug("Stop move", node);} 
 ); 
 } 
 ); 
 </script> 
 
 <div dojoType="dojo.dnd.Moveable">Haha, I am a bad guy.</div><br/><br/> 
 <p dojoType="dojo.dnd.Moveable">Haha, I am boy</p>

清单 6 的运行效果在 Firebug 下最易于观察。在 Firebug 的 Console 窗口中,每一次拖动可拖动实体,就会在 Console 窗口中有相对应的输出。

如果在某些时候,只希望监测某一个可拖动实体的事件,而不是所有可拖动实体的事件。则可以采用将可拖动实体的事件和一个函数连接起来以实现只监测某个特定可拖动实体的事件。

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:掌握 Dojo 工具包

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接