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


Posted in Javascript onNovember 19, 2018

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监听事件的叠加和移除,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
用js小类库获取浏览器的高度和宽度信息
Jan 15 Javascript
阻止事件(取消浏览器对事件的默认行为并阻止其传播)
Nov 03 Javascript
开启Javascript中apply、call、bind的用法之旅模式
Oct 28 Javascript
跟我学习javascript的函数调用和构造函数调用
Nov 16 Javascript
jQuery解析json数据实例分析
Nov 24 Javascript
简单对比分析JavaScript中的apply,call与this的使用
Dec 04 Javascript
Javascript之BOM(window对象)详解
May 25 Javascript
jquery属性,遍历,HTML操作方法详解
Sep 17 Javascript
详解如何使用PM2将Node.js的集群变得更加容易
Nov 15 Javascript
JavaScript键盘事件常见用法实例分析
Jan 03 Javascript
小程序接入腾讯位置服务的详细流程
Mar 03 Javascript
浅谈element中InfiniteScroll按需引入的一点注意事项
Jun 05 Javascript
微信小程序自定义弹窗wcPop插件
Nov 19 #Javascript
Vue.js 使用v-cloak后仍显示变量的解决方法
Nov 19 #Javascript
Vue.js 中的 v-cloak 指令及使用详解
Nov 19 #Javascript
浅析Vue.js 中的条件渲染指令
Nov 19 #Javascript
Vue.js 中的 v-show 指令及用法详解
Nov 19 #Javascript
深入浅析Vue.js 中的 v-for 列表渲染指令
Nov 19 #Javascript
为什么说JavaScript预解释是一种毫无节操的机制详析
Nov 18 #Javascript
You might like
ThinkPHP模板之变量输出、自定义函数与判断语句用法
2014/11/01 PHP
php获取客户端IP及URL的方法示例
2017/02/03 PHP
Javascript 陷阱 window全局对象
2008/11/26 Javascript
JavaScript继承方式实例
2010/10/29 Javascript
TypeOf这些知识点你了解吗
2016/02/21 Javascript
JS代码随机生成姓名、手机号、身份证号、银行卡号
2016/04/27 Javascript
AngularJS国际化详解及示例代码
2016/08/18 Javascript
JS中常用的正则表达式
2016/09/29 Javascript
jQuery实现给input绑定回车事件的方法
2017/02/09 Javascript
深入理解Vue.js源码之事件机制
2017/09/27 Javascript
详解Vue基于 Nuxt.js 实现服务端渲染(SSR)
2018/04/05 Javascript
Vue 样式绑定的实现方法
2019/01/15 Javascript
vue遍历生成的输入框 绑定及修改值示例
2019/10/30 Javascript
JS数据类型分类及常用判断方法
2020/11/19 Javascript
vue调用微信JSDK 扫一扫,相册等需要注意的事项
2021/01/03 Vue.js
python进阶教程之函数对象(函数也是对象)
2014/08/30 Python
总结python实现父类调用两种方法的不同
2017/01/15 Python
浅谈Python中带_的变量或函数命名
2017/12/04 Python
使用tensorflow实现矩阵分解方式
2020/02/07 Python
Python 字符串处理特殊空格\xc2\xa0\t\n Non-breaking space
2020/02/23 Python
Python3.8安装Pygame教程步骤详解
2020/08/14 Python
python 装饰器的实际作用有哪些
2020/09/07 Python
跑步爱好者一站式服务网站:Jack Rabbit
2016/09/01 全球购物
NBA欧洲商店(西班牙):NBA Europe Store ES
2019/04/16 全球购物
一加手机美国官方网站:OnePlus美国
2019/09/19 全球购物
一些PHP的面试题
2015/05/06 面试题
简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程
2016/01/06 面试题
2014政务公开实施方案
2014/02/19 职场文书
企业文化建设实施方案
2014/03/22 职场文书
我们的节日清明节活动总结
2014/04/30 职场文书
2014年民主评议党员工作总结
2014/12/02 职场文书
2014小学数学教师个人工作总结
2014/12/18 职场文书
合作意向协议书
2015/01/29 职场文书
人力资源部岗位职责
2015/02/11 职场文书
2016三严三实专题教育活动心得体会
2016/01/06 职场文书
Python中Permission denied的解决方案
2021/04/02 Python