jQuery动态行绑定事件,发生重复绑定解决方案
2017-07-25 14:40
183 查看
背景:
系统需要动态增加分类,各分类下有各自的3项资金(有资金小计,问题就出在这里)。
问题:
新增一条分类,需要给3项资金新绑定小计功能。这个时候会发现,初始第一行的计算,会调用两次,增加到三行的时候,第一行会重复计算三次,第二行会重复计算两次...以此类推
为什么会执行多次?
猜词:
新增一行,绑定计算函数,历史分类会累计事件。也就是说,每新增一行,历史的每一个分类都会增加一次事件绑定。
方案:
绑定事件前,删除事件。jQuery提供了on()、live()绑定方法,对应的解绑事件off()、die().
编码:
以上,就是jQuery事件绑定,出现重复多次执行问题的来龙去脉,谢谢大家。
----by.沫沫金
系统需要动态增加分类,各分类下有各自的3项资金(有资金小计,问题就出在这里)。
问题:
新增一条分类,需要给3项资金新绑定小计功能。这个时候会发现,初始第一行的计算,会调用两次,增加到三行的时候,第一行会重复计算三次,第二行会重复计算两次...以此类推
为什么会执行多次?
猜词:
新增一行,绑定计算函数,历史分类会累计事件。也就是说,每新增一行,历史的每一个分类都会增加一次事件绑定。
方案:
绑定事件前,删除事件。jQuery提供了on()、live()绑定方法,对应的解绑事件off()、die().
编码:
// 调整之后的事件绑定 $(this).off('blur').on('blur',function(){ alert('绑定前,解绑。保证事件唯一性'); }); /** 老的事件绑定 $(this).on('blur',function(){ alert('直接绑定,遇到重复调用,会出现事件多次执行的异常,请确认只绑定一次。'); });*/
以上,就是jQuery事件绑定,出现重复多次执行问题的来龙去脉,谢谢大家。
----by.沫沫金
相关文章推荐
- jQuery事件重复绑定解决方案
- 动态生成dom元素时发生的重复绑定事件
- jquery动态添加元素无法触发绑定事件的解决方案
- jQuery-为动态添加的元素绑定事件(以及不重复添加新的内容)
- [JQUERY-AJAX-JST] 动态渲染的页面事件无法绑定问题的解决方案
- jquery动态添加元素无法触发绑定的事件的解决方案
- jQuery 给动态元素绑定事件
- jquery为绑定动态文本框事件
- jQuery插件 -- 动态事件绑定插件jquery.livequery.js[转]
- 用Jquery 的一些收获 事件删除 重复绑定事件
- JQuery事件重复绑定
- jquery append 动态添加的元素事件on 不起作用的解决方案
- jQuery动态添加的元素绑定事件处理函数代码
- jQuery给动态添加的元素绑定事件的方法
- 用jquery给元素动态绑定事件及样式
- jQuery使用on()绑定动态生成元素的事件无效的问题
- jquery append 动态添加的元素事件on 不起作用的解决方案
- jquery快捷动态绑定键盘事件的操作函数代码
- jquery 动态事件绑定(0512)
- jquery为动态添加的元素绑定事件