掌握 Dojo 工具包,第 3 部分: Dojo 事件机制
2009-11-05 00:00:00 来源:WEB开发网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 事件。开发人员应该了解这些知识,因为它有助于写出高效的事件处理程序。
- ››Dojo QuickStart 快速入门教程 (4) 简单的测试框架...
- ››Dojo QuickStart 快速入门教程 (5) 使用数组
- ››Dojo QuickStart Guide 快速入门 Why Dojo
- ››Dojo Quick Start Guide 快速入门 (2) 基本框架
- ››Dojo QuickStart 快速入门教程 (3) 选择器
- ››Dojo Javascript 编程规范 [1]
- ››Dojo Javascript 编程规范 [2]
- ››Dojo Javascript 编程规范 [3]
- ››Dojo Javascript 编程规范 [4]
- ››Dojo Javascript 编程规范 [5]
- ››Dojo学习笔记(7. dojo.dom)
- ››Dojo学习笔记(8. dojo.event & dojo.event.to...
更多精彩
赞助商链接