锁定老帖子 主题:DOM 事件模型在各个浏览器中差异
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-11-25
最后修改:2010-11-25
网上搜“DOM事件模型”,文章非常多,在此写下仅仅是看到的那些文章的汇总,有错误欢迎指正。
关于DOM事件模型图就不发鸟,网上很多,而且比较简单,这里说明一些关于DOM事件模型在各个浏览器中一些差异之处。
DOM的事件分为两种:一个是捕捉性事件,一个是冒泡型事件,
1,addEventListner (el,"click",true);第三个参数如果是true的话, 就是声明为捕捉事件处理。则在事件下发的时候,会发生祖先元素对事件进行处理。在firefox2和safari9里面是如此,而在opera里面并不会如此。 这是因为firefox2和safari9并不是遵循DOM规范的, 规范中这么说明: A capturing EventListener will not be triggered by events dispatched directly to the EventTarget upon which it is registered. 大意是说:DOM规范中陈述了捕捉型的事件不应该在目标元素上被执行,因为捕捉型事件的用意就是为了监测到达目标元素之前的事件。
在整个事件传播中,被执行的顺序是:
2,IE里面的事件模型: IE下没有addEventListener,但是也有自己的attachEvent,即所谓的Microsoft Model。二者的实现基本相同只是attachEvent的第一个参数(事件类型)需要加”on”,而addEventListener不用,另外attachEvent因为不支持事件捕捉,所以也没有第三个参数。
3,Firefox中的onchang事件与IE中onchange事件、onpropertychange事件:
关于事件类型 各个浏览器的支持程度:下面网址大部分都涵盖了:
http://www.quirksmode.org/dom/events/
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
浏览 2033 次