Ajax局部界面更新导致JS事件重复触发的问题

避免重复绑定事件
本文讨论了在使用Ajax更新列表时,如何避免工具栏事件处理的重复绑定问题,特别是在列表更新频繁的情况下。

如果在页面中包含一个ajax更新的列表,那么需要小心非动态更新部分的事件处理。

以带有公共工具栏的列表界面为例:


| Menu1 | Menu2

----------------------------------------------------------------------------

ID      TITLE       DESCRIPTION          OPERATION

1        test1         hey test                      X - ...

2        test2         why not                      X - ...

----------------------------------------------------------------------------

$.ajax(
....
     data: { ... 
     },
     success: function(data) {
	$('Menu1').click(
		function(){
		    //do something	
		}
	);
     }
)

由于Menu1界面部分是公共的,并不会随着列表数据的更新而被重新载入,那么上面的代码将产生重复的click事件触发(在多次更新列表后)。

所以我们要注意,在ajax列表更新的结果处理中,不能包含工具栏事件侦听的重新初始化。


by iefreer

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值