在jQuery失败的情况下取消绑定click事件

时间:2009-09-04 07:12:59

标签: javascript unbind jquery

我正在使用jqueryFileTree插件的高度修改版本,它能够添加新文件和文件夹。当实时创建新文件时,我必须再次将树绑定到click事件,以便所有新文件和文件夹都可以按预期工作。

重新绑定filetree导致我对文件夹的功能有些麻烦。对于每个新文件,filetree运行bind,这意味着当您添加一个文件然后单击目录以关闭它时,它会打开然后关闭,因为该函数运行了两次。

我最近对问题进行了本地化,并尝试在重新绑定之前取消绑定与filetree相关的所有事件。但是,问题仍然存在。为什么会这样?语法错误?

$('UL.jqueryFileTree').unbind();
bindTree('UL.jqueryFileTree');

干杯!

克里斯

3 个答案:

答案 0 :(得分:1)

啊哈!

我应该更好地完成我的研究。写完之后它可以正常工作:

$('UL.jqueryFileTree').find('LI A').unbind();
bindTree('UL.jqueryFileTree');

答案 1 :(得分:0)

但是如果Unbind导致问题,您可以使用RemoveAttr()从元素中删除事件。因为jQuery中的unbind事件存在错误。

答案 2 :(得分:0)

另请参阅jQuerys live-event。 Perhaphs你不需要重新绑定。可能会更好地工作。

$('#divId a').live('click', function(e){
   //do something to all matched and future elements
});