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 建立对象的方法
Apr 21 Javascript
jquery ajax abort()的使用方法
Oct 28 Javascript
js实现杯子倒水问题自动求解程序
Mar 25 Javascript
JS动态添加与删除select中的Option对象(示例代码)
Dec 25 Javascript
JavaScript生成随机数的4种自定义函数分享
Feb 28 Javascript
在JavaScript中使用开平方根的sqrt()方法
Jun 15 Javascript
详解javascript遍历方式
Nov 11 Javascript
bootstrap手风琴制作方法详解
Jan 11 Javascript
微信小程序之picker日期和时间选择器
Feb 09 Javascript
详解Vue监听数据变化原理
Mar 08 Javascript
js经验分享 JavaScript反调试技巧
Mar 10 Javascript
JavaScript实现简单计算器功能
Dec 19 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脚本的10个技巧(7)
2006/10/09 PHP
php+ajax实时输入自动搜索匹配的方法
2014/12/26 PHP
PHP实现算式验证码和汉字验证码实例
2015/03/09 PHP
PHP使用pear自带的mail类库发邮件的方法
2015/07/08 PHP
[原创]CI(CodeIgniter)简单统计访问人数实现方法
2016/01/19 PHP
CI框架(CodeIgniter)实现的导入、导出数据操作示例
2018/05/24 PHP
get(0).tagName获得作用标签示例代码
2014/10/08 Javascript
Js为表单动态添加节点内容的方法
2015/02/10 Javascript
JavaScript编程的单例设计模讲解
2015/11/10 Javascript
原生js代码实现图片放大境效果
2016/10/30 Javascript
深入理解Angularjs中的$resource服务
2016/12/31 Javascript
AngularJS中update两次出现$promise属性无法识别的解决方法
2017/01/05 Javascript
JQuery 获取多个select标签option的text内容(实例)
2017/09/07 jQuery
详解动画插件wow.js的使用方法
2017/09/13 Javascript
JavaScript实现简单的文本逐字打印效果示例
2018/04/12 Javascript
使用webpack3.0配置webpack-dev-server教程
2018/05/29 Javascript
vue中使用echarts制作圆环图的实例代码
2018/07/27 Javascript
解决vuecli3.0热更新失效的问题
2018/09/19 Javascript
详解react阻止无效重渲染的多种方式
2018/12/11 Javascript
js的Object.assign用法示例分析
2020/03/05 Javascript
[00:32]DOTA2上海特级锦标赛 COL战队宣传片
2016/03/04 DOTA
python 数据加密代码
2008/12/24 Python
分享vim python缩进等一些配置
2018/07/02 Python
python简易实现任意位数的水仙花实例
2018/11/13 Python
python elasticsearch环境搭建详解
2019/09/02 Python
在Python中使用MySQL--PyMySQL的基本使用方法
2019/11/19 Python
Python爬虫爬取煎蛋网图片代码实例
2019/12/16 Python
4款Python 类型检查工具,你选择哪个呢?
2020/10/30 Python
美国批发零售网站:GearXS
2016/07/26 全球购物
科颜氏美国官网:Kiehl’s美国
2017/01/31 全球购物
YSL圣罗兰美妆官方旗舰店:购买YSL口红
2018/04/16 全球购物
STAY JAPAN台湾:预订日本民宿
2018/07/22 全球购物
PHP面试题-$message和$$message的区别
2015/12/08 面试题
五一劳动节活动记录
2014/03/23 职场文书
企业爱心捐款倡议书
2015/04/27 职场文书
JAVA springCloud项目搭建流程
2022/05/11 Java/Android