js 监听事件的叠加和移除

2018-11-20 03:18:35来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

  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)

  

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:angularJS之ng-bind与{{}}取值的区别

下一篇:GIT主要用到的命令