多次注册事件会导致一个事件被触发多次的解决方法


Posted in Javascript onAugust 12, 2013

一个JavaScript逻辑,会自动绑定函数到按钮的click事件,但是这段代码会反复注册事件。这样依赖onNext函数会在点击一次按钮的时候多次触发。

这是JQuery内部没有判断是否绑定多次,怀疑其内部用了数组保存事件函数,而且没有去重。

下面的代码预防了这个问题。解决方案很简单。

if (!this.hasPageBarEvents) { 
$(".pNext").on("click", this, this.onNext); 
this.hasPageBarEvents = true; 
}

以后用到JQuery要小心这个特性。
Javascript 相关文章推荐
javascript parseInt 大改造
Sep 27 Javascript
javascript 传统事件模型构造的事件监听器实现代码
May 31 Javascript
JS分页控件 可用于无刷新分页
Jul 23 Javascript
Jquery api 速查表分享
Jan 12 Javascript
使用EVAL处理jqchart jquery 折线图返回数据无效的解决办法
Nov 26 Javascript
如何开发出更好的JavaScript模块
Dec 22 Javascript
解决Webpack 热部署检测不到文件变化的问题
Feb 22 Javascript
动态内存分配导致影响Javascript性能的问题
Dec 18 Javascript
JS 事件机制完整示例分析
Jan 15 Javascript
js构造函数constructor和原型prototype原理与用法实例分析
Mar 02 Javascript
es6函数之箭头函数用法实例详解
Apr 25 Javascript
微信小程序以7天为周期连续签到7天功能效果的示例代码
Aug 20 Javascript
JS获取图片实际宽高及根据图片大小进行自适应
Aug 11 #Javascript
Javascript合并表格中具有相同内容单元格示例
Aug 11 #Javascript
js获取php变量的实现代码
Aug 10 #Javascript
如何使用Jquery获取Form表单中被选中的radio值
Aug 09 #Javascript
jquery对象和DOM对象的区别介绍
Aug 09 #Javascript
SOSO地图JS画出标注和中心点以html形式运行
Aug 09 #Javascript
javascript判断机器是否联网的2种方法
Aug 09 #Javascript
You might like
ThinkPHP实现跨模块调用操作方法概述
2014/06/20 PHP
两种设置php载入页面时编码的方法
2014/07/29 PHP
使用PHPCMS搭建wap手机网站
2015/09/20 PHP
PHP基于单例模式实现的mysql类
2016/01/09 PHP
微信公众平台开发教程④ ThinkPHP框架下微信支付功能图文详解
2019/04/10 PHP
js过滤数组重复元素的方法
2010/09/05 Javascript
Java 正则表达式学习总结和一些小例子
2012/09/13 Javascript
jquery定时滑出可最小化的底部提示层特效代码
2013/10/02 Javascript
JS判断客户端是手机还是PC的2个代码
2014/04/12 Javascript
简单谈谈javascript中的变量、作用域和内存问题
2015/08/30 Javascript
JavaScipt中栈的实现方法
2016/02/17 Javascript
js实现一个简单的数字时钟效果
2017/03/29 Javascript
详解VUE2.X过滤器的使用方法
2018/01/11 Javascript
vue中本地静态图片路径写法
2018/03/06 Javascript
JavaScript学习笔记之基于定时器实现图片无缝滚动功能详解
2019/01/09 Javascript
JS数组求和的常用方法总结【5种方法】
2019/01/14 Javascript
微信小程序学习笔记之本地数据缓存功能详解
2019/03/29 Javascript
vue实现简单图片上传
2020/06/30 Javascript
JavaScript实现简单日历效果
2020/09/11 Javascript
JS highcharts实现动态曲线代码示例
2020/10/16 Javascript
python操作sqlite的CRUD实例分析
2015/05/08 Python
Phantomjs抓取渲染JS后的网页(Python代码)
2016/05/13 Python
python中利用队列asyncio.Queue进行通讯详解
2017/09/10 Python
docker django无法访问redis容器的解决方法
2019/08/21 Python
python保留小数位的三种实现方法
2020/01/07 Python
TensorFlow tf.nn.conv2d_transpose是怎样实现反卷积的
2020/04/20 Python
Python JSON常用编解码方法代码实例
2020/09/05 Python
使用Python Tkinter实现剪刀石头布小游戏功能
2020/10/23 Python
Html5页面中的返回实现的方法
2018/02/26 HTML / CSS
Halston Heritage官网:简洁的日装,稍显奢华的晚装
2018/11/20 全球购物
德国大型和小型家用电器网上商店:Energeto
2019/05/15 全球购物
加州风格的游泳和沙滩装品牌:Cupshe
2019/06/10 全球购物
卫校毕业生个人自我鉴定
2014/04/28 职场文书
西安大雁塔导游词
2015/02/10 职场文书
小区保洁员岗位职责
2015/04/10 职场文书
Python中Matplotlib的点、线形状、颜色以及绘制散点图
2022/04/07 Python