JavaScript
主页 > 网络编程 > JavaScript >

JS监听事件的叠加和移除功能的详解

2018-11-20 | 秩名 | 点击:
本篇文章给大家介绍JS监听事件的叠加和移除功能的详解。

html DOM元素有很多on开头的监听事件,如onload、onclick等,见。但是同一种事件,后面注册的会覆盖前面的:


window.onresize = function(){
  alert(1);
}
window.onresize = function(){
  alert(2);
}
// 改变窗口大小时,只会弹出2

addEventListener监听

利用addEventListener添加监听事件,可以重复添加,并不会互相覆盖:
 

window.addEventListener("resize",function(){
  alert(1)
})
window.addEventListener("resize",function(){
  alert(2)
})
// 改变窗口大小时,先后弹出1和2

注意这里面的事件是不带"on"前缀的。

removeEventListener移除监听

removeEventListener跟addEventListener相对应,用于移除事件监听。如果要移除事件句柄,addEventListener() 的执行函数必须使用外部具名函数,匿名函数事件是无法移除的。


window.addEventListener("resize",function(){
  alert(1)
})
// 监听具名函数事件
function myResize(){
  alert(2)
}
window.addEventListener("resize",myResize)
// 移除事件监听
window.removeEventListener("resize",myResize)



原文链接:
相关文章
最新更新