如何通过jquery取消绑定事件

时间:2010-10-20 12:42:21

标签: jquery

  if (IsBestanswer == "True") 
      {
        $(bestAnswer).addClass('IsBestanswer');
        $(bestAnswer).unbind('click');
      }
 bestAnswer.live('click', function()
{

// some code....
});

实际上我想在bestanswer上禁用click属性,而IsBestanswer ==“True”。 这里我使用的是unbind()函数。但它不起作用......

是否有任何禁用方法,如添加一些css属性...实际上我不知道..

2 个答案:

答案 0 :(得分:4)

要取消绑定live处理程序,请致电die。 (我没有说明这一点)

但是,如果bestAnswer是单个元素,则使用live代替bind没有意义。
live旨在与将来匹配元素的选择器一起使用。

此外,如果您可以编写bestAnswer.live,则无需编写$(bestAnswer),因为它已经是jQuery对象。
(与您需要调用$的DOM元素,选择器或HTML字符串相对)

答案 1 :(得分:1)

您可以在处理程序中执行此操作,无需解除绑定:

$("selector for answers here").live('click', function()
{
    if (!$(this).hasClass("IsBestanswer")) {
        // do something, this isn't the best answer
    }
});