JS事件绑定addEventListener 和 attachEvent

时间:2021-10-31 04:35:15

事件绑定指的是给一个对象添加一个事件。

一般通过addEventListener 和 attachEvent 两种方法来为一个对象添加事件,其中后者是IE中的方法(IE9已兼容前者)。

事件绑定和我们平常常用的 使用匿名函数添加事件的方法即 this.onclick = function(){} 这样的方法有什么区别呢?

obtn.onclick = function(){
alert("a");
}
obtn.onclick = function(){
alert("b");
}


这一段代码中,点击按钮以后最后弹出的只有b,因为第二个事件覆盖掉了第二个。 当我们使用事件绑定时,前一个添加的事件不会被后一个覆盖掉。
var obtn = document.getElementById("btn");
obtn.addEventListener("click",function(){
alert("a");
});
obtn.addEventListener("click",function(){
alert("b");
});

而且addEventListener 和attachEvent也有区别

前者先弹出a ,后者先弹出b,也就是attachEvent 的顺序是反的。 而且添加事件时,在addEventListener中的事件参数需要去掉“on”。attachEvent 中的事件参数依然还是带“on”的。