JQuery取消事件绑定

最近在用DataTables做Row Details测试时,发现一个奇怪的现象,奇数次加载页面时能正常展开,偶数次不能展开,经过调试,发现每次加载都在原事件基础上绑定了新的事件,故每逢奇数次的话才能展开,未解决这个问题,需要取消原绑定事件后再进行绑定;

方法一:针对通过live方式添加的事件,需要在live之前调用die(),如

(“#objects”).live(“click”,function(){
//事件代码
});

需改为:

(“#objects”).die().live(“click”,function(){
//事件代码
});

方法二:针对通过bind()方法添加的事件,需要通过unbind()取消绑定,如:

$("#objects").click(function() {
   alert("未解除绑定执行");
});
$("#test2").unbind('click').click(function() {
   alert("解除绑定执行");
});

 

发表评论