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 相关文章推荐
网页中的图片的处理方法与代码
Nov 26 Javascript
分析Node.js connect ECONNREFUSED错误
Apr 09 Javascript
弹出最简单的模式化遮罩层的js代码
Dec 04 Javascript
轻松学习jQuery插件EasyUI EasyUI创建RSS Feed阅读器
Nov 30 Javascript
JS控制HTML元素的显示和隐藏的两种方法
Sep 27 Javascript
JS封装的三级联动菜单(使用时只需要一行js代码)
Oct 24 Javascript
vue-cli 自定义指令directive 添加验证滑块示例
Oct 19 Javascript
详解Vue实战指南之依赖注入(provide/inject)
Nov 13 Javascript
微信小程序学习笔记之登录API与获取用户信息操作图文详解
Mar 29 Javascript
使用VueRouter的addRoutes方法实现动态添加用户的权限路由
Jun 03 Javascript
微信小程序设置滚动条过程详解
Jul 25 Javascript
多个vue子路由文件自动化合并的方法
Sep 03 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
使用php实现截取指定长度
2013/08/06 PHP
CodeIgniter整合Smarty的方法详解
2017/08/25 PHP
php实现socket推送技术的示例
2017/12/20 PHP
基于jquery的弹出提示框始终处于窗口的居中位置(类似于alert弹出框的效果)
2011/09/28 Javascript
BootStrap和jQuery相结合实现可编辑表格
2016/04/21 Javascript
node.js插件nodeclipse安装图文教程
2020/10/19 Javascript
阻止表单提交按钮多次提交的完美解决方法
2016/05/16 Javascript
js实现碰撞检测特效代码分享
2016/10/16 Javascript
Jquery实现上下移动和排序代码
2016/10/17 Javascript
jQuery中 $ 符号的冲突问题及解决方案
2016/11/04 Javascript
nodejs redis 发布订阅机制封装实现方法及实例代码
2016/12/15 NodeJs
node.js请求HTTPS报错:UNABLE_TO_VERIFY_LEAF_SIGNATURE\的解决方法
2016/12/18 Javascript
Bootstrap缩略图与警告框学习使用
2017/02/08 Javascript
TypeScript入门-基本数据类型
2017/03/28 Javascript
JavaScript比较两个数组的内容是否相同(推荐)
2017/05/02 Javascript
Java设计中的Builder模式的介绍
2018/03/22 Javascript
如何使用puppet替换文件中的string
2018/12/06 Javascript
vue实现前台列表数据过滤搜索、分页效果
2019/05/28 Javascript
微信接入之获取用户头像的方法步骤
2019/09/23 Javascript
Vue中错误图片的处理的实现代码
2019/11/07 Javascript
vue实现计算器功能
2020/02/22 Javascript
Vue如何实现验证码输入交互
2020/12/07 Vue.js
下载糗事百科的内容_python版
2008/12/07 Python
Python 字典(Dictionary)操作详解
2014/03/11 Python
python实现简单日志记录库glog的使用
2019/12/13 Python
python 实现IP子网计算
2021/02/18 Python
拉斯维加斯城市观光通行证:Las Vegas Pass
2019/05/21 全球购物
能否解释一下XSS cookie盗窃是什么意思
2012/06/02 面试题
电子商务专业实习生自我鉴定
2013/09/24 职场文书
人事部经理岗位职责
2014/03/07 职场文书
南京市纪委监察局整改方案
2014/09/16 职场文书
实践论读书笔记
2015/06/29 职场文书
实习报告范文之电话客服岗位
2019/07/26 职场文书
JavaScript执行机制详细介绍
2021/12/06 Javascript
JAVA 线程池(池化技术)的实现原理
2022/04/28 Java/Android
CSS浮动引起的高度塌陷问题
2022/08/05 HTML / CSS