WEB开发网
开发学院软件开发Java 掌握 Dojo 工具包,第 3 部分: Dojo 事件机制 阅读

掌握 Dojo 工具包,第 3 部分: Dojo 事件机制

 2009-11-05 00:00:00 来源:WEB开发网   
核心提示: eventType=click;node=b3;currentTarget=b3后面两个事件没有发生,因为 click 事件被 stopPropagation 阻止了,掌握 Dojo 工具包,第 3 部分: Dojo 事件机制(9),没有再往上冒,事实上,将触发按钮的 click 事件,开发人员

eventType=click; node=b3; currentTarget=b3

后面两个事件没有发生,因为 click 事件被 stopPropagation 阻止了,没有再往上冒。事实上,可以在任何一级对象上调用 stopPropagation 阻止事件继续往上传递。

然后是事件对象 eventObj,事件对象是对事件的描述,在前面已经介绍了事件对象的几个有用的属性。 Dojo 的事件对象其实基于 DOM Level2 的事件对象,更详细的属性信息可以参考 Dojo 的官方文档,这里对用户操作触发的事件和事件的继承结构做些说明。当用户点击第一项 b1 时,在浏览器输出的是

eventType=mouseover; node=b1; currentTarget=b1 
eventType=mousedown; node=b1; currentTarget=b1 
eventType=click; node=b1; currentTarget=b1 
eventType=click; node=b1; currentTarget=cpp 
eventType=click; node=b1; currentTarget=book

从上面的输出可以看出,在 b1 这个节点上一共监测到了三个事件(事实上产生的事件不止三个),mouseover、 mousedown、click 。所以表面上一个点击操作背后却藏着大文章。同理用户点击提交按钮提交一个表单也会触发很多事件,但一般我们只处理了最上层的 submit 事件。这些现象揭示了事件是有类别,层次的,底层事件可以触发高层事件。底层事件一般都是与设备有关的事件,比如鼠标移动,按键产生的事件;高层事件一般指页面元素上的事件,比如链接的 click 事件,表单的 submit 事件等。与设备无关的事件往往由几个与设备有关的事件触发。比如一个单击页面上按钮的 click 事件,可以分解为 mouseover, mousedown, mouseup 三个事件,在这三个事件发生之后,将触发按钮的 click 事件。开发人员应该了解这些知识,因为它有助于写出高效的事件处理程序。

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

Tags:掌握 Dojo 工具包

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