背景:
系统需要动态增加分类,各分类下有各自的3项资金(有资金小计,问题就出在这里)。
问题:
新增一条分类,需要给3项资金新绑定小计功能。这个时候会发现,初始第一行的计算,会调用两次,增加到三行的时候,第一行会重复计算三次,第二行会重复计算两次...以此类推
为什么会执行多次?
猜词:
新增一行,绑定计算函数,历史分类会累计事件。也就是说,每新增一行,历史的每一个分类都会增加一次事件绑定。
方案:
绑定事件前,删除事件。jQuery提供了on()、live()绑定方法,对应的解绑事件off()、die().
编码:
// 调整之后的事件绑定
$(this).off('blur').on('blur',function(){
alert('绑定前,解绑。保证事件唯一性');
});
/** 老的事件绑定
$(this).on('blur',function(){
alert('直接绑定,遇到重复调用,会出现事件多次执行的异常,请确认只绑定一次。');
});*/
以上,就是jQuery事件绑定,出现重复多次执行问题的来龙去脉,谢谢大家。
----by.沫沫金
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。