首页 > 代码库 > js 添加事件 attachEvent 和 addEventListener 的区别

js 添加事件 attachEvent 和 addEventListener 的区别

 


1、addEventListener 
适用w3c标准方法addEventListener绑定事件,如下,事件的执行顺序和绑定顺序一致,执行顺序为method1->method2->method3

 
  1. //element.addEventListener(type,listener,useCapture);
  2. btn1Obj.addEventListener("click",method1,false);
  3. btn1Obj.addEventListener("click",method2,false);
  4. btn1Obj.addEventListener("click",method3,false);

2、attachEvent 
在IE8及以下版本中,不支持addEventListener,只能用attachEvent绑定事件,执行顺序是 method3->method2->method1

 
  1. //object.attachEvent(event,function);
  2. btn1Obj.attachEvent("onclick",method1);
  3. btn1Obj.attachEvent("onclick",method2);
  4. btn1Obj.attachEvent("onclick",method3);

3、属性赋值法绑定事件 
适用该方法会使后绑定的方法覆盖前面的方法,要想一次性绑定多个(一次性执行多个操作,可以再一个事件中调用多个方法)

 
  1. obj.onclick=method1;
  2. obj.onclick=method2;
  3. obj.onclick=method3;

一次性绑定多个:

 
    1. obj.onclick=function (){
    2. method1();
    3. method2();
    4. method3();
    5. }

js 添加事件 attachEvent 和 addEventListener 的区别