【问题标题】:jQuery unbind, then bind againjQuery取消绑定,然后再次绑定
【发布时间】:2010-12-18 00:09:27
【问题描述】:

我有我的功能(我需要稍后解绑):

$("#closebtn").click(function(){
    $.address.value('/x');
});

我在一个事件之后解绑它:

$("#closebtn").unbind("click");

现在我想再次将我的“点击”功能关联到我的#closebtn,我该怎么做? 谢谢你 d

【问题讨论】:

    标签: jquery bind unbind


    【解决方案1】:

    将你的函数分配给一个变量

    var closebtn = function() {
        $.address.value('/x');
    };
    

    然后就可以绑定变量了

    $("#closebtn").click(closebtn);
    

    【讨论】:

      【解决方案2】:

      如果它实际上是一个按钮,您可以禁用它,而不是取消绑定/重新绑定。或者,添加一条 if 语句,以便在您不希望它“触发”时该函数返回 false - 我认为这比 bind/un-bind/rebind 更有效,后者相当昂贵。

      可能是这样的吧?

      $("#closebtn").click(
          function() {
              if (inEvent) {
                  return false
              }
              $.address.value('/x')
          })
      
      $('someOtherElement').click(
          function() {
              inEvent = 1
              // ...
              // do the processing where you don't
              // want the function to fire
              .. ...
              inEvent = 0
          })
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-10-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-11
        相关资源
        最近更新 更多