传统事件绑定

<div onclick=””>123</div>
div1.onclick=function(){};
<button  onmouseover=””></button>

1、如果说给同一个元素绑定了两次或者多次相同类型的事件,那么后面的绑定会覆盖前面的绑定
2、不支持DOM事件流 (事件捕获阶段 =>目标元素阶段=>事件冒泡阶段)

符合W3C标准的事件绑定的方式

addEventListener/attachEvent
1、 如果说给同一个元素绑定了两次或者多次相同类型的事件,所有的绑定将会依次触发
2、 支持DOM事件流

A、非IE浏览器:
addEventListener

1、 进行事件绑定传参不需要on前缀
addEventListener(“click”,function(){},true);//此时的事件就是在事件捕获阶段执行
2、有第三个参数:代表是否在捕获阶段执行,默认值是false

addEventListener(“click”,function(e){
 
})
addEventListener(“click”,function(){},false) 事件在冒泡阶段执行

B、IE浏览器
ie9开始,ie11 edge:addEventListener

ie9以前 ie8:attachEvent/detachEvent
1、 进行事件类型传参需要带上on前缀
dom1.attachEvent(“onclick”,functioin(){});
2、 只有俩参数,这种方式只支持事件冒泡,不支持事件捕获

传统事件绑定和符合W3C标准的事件绑定有什么区别?

相关文章:

  • 2022-02-09
  • 2022-01-26
  • 2021-07-24
  • 2021-06-18
  • 2022-02-05
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-31
  • 2021-10-03
  • 2021-07-31
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案