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解决数字不能换行问题
Aug 10 Javascript
js对象数组按属性快速排序
Jan 31 Javascript
js保留两位小数使用toFixed实现
Jul 29 Javascript
jQuery+ajax实现鼠标单击修改内容的思路
Jun 29 Javascript
修复bash漏洞的shell脚本分享
Dec 31 Javascript
JavaScript返回0-1之间随机数的方法
Apr 06 Javascript
jquery实现文字单行横移或翻转(上下、左右跳转)
Jan 08 Javascript
js实现颜色阶梯渐变效果(Gradient算法)
Mar 21 Javascript
详解vue项目中调用百度地图API使用方法
Apr 25 Javascript
vue实现计算器功能
Feb 22 Javascript
JS图片预加载三种实现方法解析
May 08 Javascript
JS倒计时两种实现方式代码实例
Jul 27 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中PDO基础教程 入门级
2011/09/04 PHP
smarty中英文多编码字符截取乱码问题解决方法
2014/10/28 PHP
php实现在多维数组中查找特定value的方法
2015/07/29 PHP
php生成二维码
2015/08/10 PHP
基于jQuery的history历史记录插件
2010/12/11 Javascript
jQuery中delegate()方法用法实例
2015/01/19 Javascript
JS设置cookie、读取cookie
2016/02/24 Javascript
对jQuary选择器的全面总结
2016/06/20 Javascript
微信小程序 页面传参实例详解
2016/11/16 Javascript
Canvas实现动态的雪花效果
2017/02/13 Javascript
JS实现含有中文字符串的友好截取功能分析
2017/03/13 Javascript
使用Browserify来实现CommonJS的浏览器加载方法
2017/05/14 Javascript
关于TypeScript模块导入的那些事
2018/06/12 Javascript
nodejs基础之buffer缓冲区用法分析
2018/12/26 NodeJs
JS数组splice操作实例分析
2019/10/12 Javascript
node.js事件轮询机制原理知识点
2019/12/22 Javascript
JS实现可视化音频效果的实例代码
2020/01/16 Javascript
webpack的 rquire.context用法实现工程自动化的方法
2020/02/07 Javascript
vue从零实现一个消息通知组件的方法详解
2020/03/16 Javascript
Vue 基于 vuedraggable 实现选中、拖拽、排序效果
2020/05/18 Javascript
原生JavaScript实现换肤
2021/02/19 Javascript
用实例说明python的*args和**kwargs用法
2013/11/01 Python
跟老齐学Python之有容乃大的list(2)
2014/09/15 Python
Python 迭代器工具包【推荐】
2016/05/06 Python
使用Python实现博客上进行自动翻页
2017/08/23 Python
Python3解决棋盘覆盖问题的方法示例
2017/12/07 Python
20行python代码的入门级小游戏的详解
2019/05/05 Python
python安装requests库的实例代码
2019/06/25 Python
在 Python 中接管键盘中断信号的实现方法
2020/02/04 Python
Canvas多边形绘制的实现方法
2019/08/05 HTML / CSS
英国第一家领先的在线处方眼镜零售商:Glasses Direct
2018/02/23 全球购物
世界排名第一的运动鞋市场:Flight Club
2020/01/03 全球购物
Sisley法国希思黎美国官方网站:享誉全球的奢华植物美容品牌
2020/06/27 全球购物
爱国卫生月实施方案
2014/02/21 职场文书
党的群众路线教育实践活动党员个人整改措施
2014/10/27 职场文书
部队个人年终总结
2015/03/02 职场文书