JS监听事件的叠加和移除功能
程序员文章站
2022-05-29 18:09:13
html dom元素有很多on开头的监听事件,如onload、onclick等,见dom事件列表。但是同一种事件,后面注册的会覆盖前面的:
window.onre...
html dom元素有很多on开头的监听事件,如onload、onclick等,见dom事件列表。但是同一种事件,后面注册的会覆盖前面的:
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)
总结
以上所述是小编给大家介绍的js监听事件的叠加和移除,希望对大家有所帮助
上一篇: 大暑吃什么食物合适?