解除绑定
  • 点击后,需要时再次绑定
  • 发布于 2024-10-13 18:43:37 字数 624 浏览 2 评论 0原文

    我创建了一个下拉菜单。当你点击“联系”时,一个巨大的联系框就会降下来。当我点击“关闭”时,它就消失了。此功能有效。

    我需要的是在表单打开后解除列表项的绑定,但在关闭后再次启用它。

    代码如下。

    jQuery(document).ready(function() {
    
     jQuery("#header ul.menu li:last-child").addClass("open");
    
     jQuery("#header ul.menu li.open").click(function() {
    
      jQuery(this).unbind("click");
    
      jQuery("#contact").animate({marginTop:'+=426px'}, 2000);
    
      return false;
    
     });
    
     jQuery("#contact a#close").click(function() {
    
      jQuery("#contact").animate({marginTop:'-=426px'}, 2000);
    
      jQuery("#header ul.menu li:last-child").live("click", function() {
    
      });
    
      return false;
    
     });
    
    });
    

    I creating a drop down. When you click "Contact", a huge contact box comes down. When I click "Close" it dissapears. This functionality works.

    What I need is the unbind the list item once the form is open, but once closed, enable it again.

    Code below.

    jQuery(document).ready(function() {
    
     jQuery("#header ul.menu li:last-child").addClass("open");
    
     jQuery("#header ul.menu li.open").click(function() {
    
      jQuery(this).unbind("click");
    
      jQuery("#contact").animate({marginTop:'+=426px'}, 2000);
    
      return false;
    
     });
    
     jQuery("#contact a#close").click(function() {
    
      jQuery("#contact").animate({marginTop:'-=426px'}, 2000);
    
      jQuery("#header ul.menu li:last-child").live("click", function() {
    
      });
    
      return false;
    
     });
    
    });
    

    如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

    扫码二维码加入Web技术交流群

    发布评论

    需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

    评论(1

    许仙没带伞 2024-10-20 18:43:37

    您应该指定对 .unbind() / .bind() 的函数引用。

    function click_handler() { 
        // do something
    }
    
    jQuery("#header ul.menu li.open").click(function() {
       jQuery(this).unbind("click", click_handler);
    
       jQuery("#contact").animate({marginTop:'+=426px'}, 2000);
    
       return false;
    });
    
    // some code
    
    jQuery("#header ul.menu li.open").bind('click', click_handler);
    

    You should specify a function reference to .unbind() / .bind().

    function click_handler() { 
        // do something
    }
    
    jQuery("#header ul.menu li.open").click(function() {
       jQuery(this).unbind("click", click_handler);
    
       jQuery("#contact").animate({marginTop:'+=426px'}, 2000);
    
       return false;
    });
    
    // some code
    
    jQuery("#header ul.menu li.open").bind('click', click_handler);
    
    ~没有更多了~
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文