JS事件流(W3C和IE的区别)

1,JS事件的3个阶段为捕获、目标、冒泡;而低版本IE不支持捕获阶段
2,在浏览器解析事件的时候,有两种触发方式:一种叫做Bubbling(冒泡),另外一种叫做Capturing(捕获)。

  • 冒泡的方式效果就是当一个DOM元素的某事件例如click点击事件被触发时,依次它的父元素的click事件也被触发,一直传递到最顶层的body元素为止。
  • 捕获的触发方式正好相反,当某个元素的click事件被触发时,先从最顶层的body元素click事件被触发开始,一直传递到真正被触发的元素为止。
W3C事件流

1,W3C事件流支持捕获和冒泡方法,并且可以在一个DOM上绑定多个事件处理器,各自不会冲突

2,W3C事件流可以通过addEventListener()和removeEventListener()来添加和删除事件,这两个方法接受三个参数,(事件类型,事件处理函数,布尔值),其中布尔值如果设置为false,表示该事件处理函数在事件冒泡阶段触发;如果设置为true,表示该事件处理函数在事件捕获阶段触发,事件冒泡阶段不再触发

  • 需要注意的一点是在使用removeEventListener()方法删除事件时,参数要和创建事件时的参数相同,即第二个参数不支持通过匿名函数来创建,否则会被视为不是同一个方法(IE事件流规则和W3C相同)。

3,W3C事件中可以通过preventDefault()方法阻止事件的默认行为

4,W3C调用e.stopPropagation();或者 return false来阻止冒泡事件

IE事件流

1,IE事件流只支持事件冒泡,不支持事件捕获

2,IE事件流可以通过可以通过attachEvent()和detachEvent()来添加和删除事件,这两个方法只接受两个参数,依次为事件类型(“on”+事件类型),事件处理函数

3,IE通过window.event.returnValue=false阻止事件的默认行为

4,IE通过设置window.event.cancleBubble=true来阻止冒泡事件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值