0

我有一个按钮并为同一个按钮编写了两个函数

和最初一样

  $("#FieldSetting .button").eq(0).unbind('click');
  $('.button').eq(0).click(function(){alert('initally');})

稍后在 jQuery 中,当我单击一个 div 时,我编写了另一个函数,由同一个按钮实现

 $("#fb_contentarea_col1down21 div").live("click", function(){
       $("#FieldSetting .button").eq(0).unbind('click');
       $('.button').eq(0).click(function(){alert("later");})
 });

在这两种情况下,我都解除了事件的绑定,但它不起作用。

我的第一个按钮功能最初可以使用,但是在我使用第二个功能后,我的第一个功能不再起作用;第二个功能从未解除绑定。

请建议如何解决它。

4

1 回答 1

6

如果您在第 1 行运行“unbind”,然后在第 10 行附加一个新事件,则最近的活动将获得授权。意思是,无论你最后做了什么,都是国王。

在这种情况下,您在运行“解除绑定”很久之后添加了 .click() 功能。Unbind并不是live,说它不会阻止你将一组新的功能绑定到一个项目上——它只会取消绑定到那个时候已经绑定到它的任何东西。

于 2009-06-26T12:01:54.263 回答