删除jquery中的事件
我在jquery中有一些代码,如下所示:删除jquery中的事件,jquery,Jquery,我在jquery中有一些代码,如下所示: $("#filterZaal").attr("disabled", "disabled"); $("#filterGenre").attr("disabled", "disabled"); $("#filterZaal").live("change", interceptZaalFilter); $("#filterDag").live("change", interceptDagFilter); $("#filterGenre").live("chan
$("#filterZaal").attr("disabled", "disabled");
$("#filterGenre").attr("disabled", "disabled");
$("#filterZaal").live("change", interceptZaalFilter);
$("#filterDag").live("change", interceptDagFilter);
$("#filterGenre").live("change", interceptGenreFilter);
现在,我添加了一个按钮,当我按下这个按钮时,我希望上面所有的代码不再计算,所以当我按下按钮时,这些事件将不再被调用,但当我再次按下它时,它应该再次被启用
在jquery中如何执行此操作?您需要使用:
与每次使用
die()
添加/删除事件不同,我只创建一个切换标志:
var Toggle = false;
$("#filterZaal").live("change", function(){
if(Toggle){ interceptZaalFilter(); } // alterantively, add this check
Toggle = !Toggle; // to the func you call
});
// and so on
这似乎可以更好地捕获您想要的内容,而且几乎肯定会更有效。让事件处理程序检查是否
$(''theButton')。hasClass('disabled')
,如果是这样,则执行$('theButton')。removeClass('disabled')
,并返回false;否则正常进行
然后,当你添加按钮时,确保它有一个“禁用”类我只想留下相同的答案。这将比不断添加/删除处理程序更有效+1.
var Toggle = false;
$("#filterZaal").live("change", function(){
if(Toggle){ interceptZaalFilter(); } // alterantively, add this check
Toggle = !Toggle; // to the func you call
});
// and so on