ie和dom事件流的区别
Posted cui-ting
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ie和dom事件流的区别相关的知识,希望对你有一定的参考价值。
1.事件流的区别
IE采用冒泡型事件 Netscape使用捕获型事件 DOM使用先捕获后冒泡型事件
示例:
复制代码代码如下:
<body>
<div>
<button>点击这里</button>
</div>
</body>
冒泡型事件模型: button->div->body (IE事件流)
捕获型事件模型: body->div->button (Netscape事件流)
DOM事件模型: body->div->button->button->div->body (先捕获后冒泡)
2.事件侦听函数的区别
IE使用:
[Object].attachEvent("name_of_event_handler", fnHandler); //绑定函数
[Object].detachEvent("name_of_event_handler", fnHandler); //移除绑定
DOM使用:
[Object].addEventListener("name_of_event", fnHandler, bCapture); //绑定函数
[Object].removeEventListener("name_of_event", fnHandler, bCapture); //移除绑定
bCapture参数用于设置事件绑定的阶段,true为捕获阶段,false为冒泡阶段。
标准DOM:
[Object].addEventListener("事件名称",fnHandler,是否捕获)
[Object].removeEventListener("事件名称", fnHandler, 是否捕获);
1.DOM使用先捕获后冒泡型事件,true为在捕获阶段处理,false为在冒泡阶段处理
2.事件名称没有on
3.this指向触发该事件的对象
IE(低版本9以下):
[Object].attachEvent("事件名称",fnHandler);
[Object].detachEvent("事件名称", fnHandler);
1.IE采用冒泡型事件
2.事件名称有on
3.this指向window
区别
1.执行顺序不一样、
2.参数不一样
3.事件加不加on
4.this指向问题
以上是关于ie和dom事件流的区别的主要内容,如果未能解决你的问题,请参考以下文章