掌握 Dojo 工具包,第 3 部分: Dojo 事件机制
2009-11-05 00:00:00 来源:WEB开发网reomveEvenetListener(/*String*/eventName, /*function*/handler, /*bool*/useCapture);
删除某一 HTML 元素上注册的事件处理函数,函数声明与 addEventListener 一样,参数意义也相同,即注册、删除事件处理函数时也需要使用同样的参数。这点不太方便,比较好的做法是 addEventListener 返回一个句柄,然后把这个句柄传递作为 removeEventListener 的参数。
sayHello, sayWorld 是两个事件处理函数,他们的参数 event 是一个事件对象,对象的属性包括事件类型(在本例中是 click),事件发生的 X,Y 坐标(这两个属性在实现 tooltip 时特别有用),事件目标(即事件的最终接收节点)等。
从这个例子中也可以看出事件处理包括三个方面:事件源、事件对象、事件处理函数。事件处理机制就是把这三个方面有机的联系起来。
注意,清单 4 的例子不能运行在 IE 浏览器里,因为 IE 浏览器采用是一种介乎 DOM level0 和 DOM Level2 之间的事件模型。比如在 IE 中,应该使用 attachEvent(), detachEvent() 来注册、注销事件处理函数。这只是 IE 中的事件模型与标准 DOM Level2 事件模型不一致部分的冰山一角,其他的诸如事件对象的传播方式、事件对象的属性、阻止事件传播的函数等,IE 与 DOM Level2 都有很大差异。这也是为什么 Dojo 会再提供一些事件处理的 API 的原因:屏蔽底层浏览器的差异,让开发人员在写编写事件处理代码时面对的是“透明”的浏览器,即不需要关心浏览器是什么。前面花了很大篇幅来介绍 DOM 事件模型,因为 Dojo 的事件处理机制是基于 DOM Level2 定义的事件模型的,然后对浏览器不兼容的情况做了很多处理,以保证使用 Dojo 的事件处理机制编写的代码能在各个浏览器上运行。下面来介绍 Dojo 的事件处理机制。
- ››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...
更多精彩
赞助商链接