继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

jQuery动态行绑定事件,发生重复绑定解决方案

会当凌绝顶聪明
关注TA
已关注
手记 240
粉丝 36
获赞 122

背景:

系统需要动态增加分类,各分类下有各自的3项资金(有资金小计,问题就出在这里)。


问题:

新增一条分类,需要给3项资金新绑定小计功能。这个时候会发现,初始第一行的计算,会调用两次,增加到三行的时候,第一行会重复计算三次,第二行会重复计算两次...以此类推


为什么会执行多次?


猜词:

新增一行,绑定计算函数,历史分类会累计事件。也就是说,每新增一行,历史的每一个分类都会增加一次事件绑定。


方案:

绑定事件前,删除事件。jQuery提供了on()、live()绑定方法,对应的解绑事件off()、die().


编码:

// 调整之后的事件绑定$(this).off('blur').on('blur',function(){    alert('绑定前,解绑。保证事件唯一性');});/** 老的事件绑定$(this).on('blur',function(){    alert('直接绑定,遇到重复调用,会出现事件多次执行的异常,请确认只绑定一次。');});*/



以上,就是jQuery事件绑定,出现重复多次执行问题的来龙去脉,谢谢大家。


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP