代码之家  ›  专栏  ›  技术社区  ›  Sireini

将jquery click方法设置为false后重新激活它

  •  0
  • Sireini  · 技术社区  · 6 年前

    我有一个click方法,当某个元素有一个类时,我想停用它。

    if($('.returningUserPanel').hasClass('is-active')){
       $('.item-cart .panel-trigger').click(false);
    }
    

    在上面我将click方法设置为false,但是我想响应这个click方法,但是设置起来并不是那么简单 .click(true) 是真的吗?

    $('.continue-shopping-link').on('click', function(){
        $('.item-cart .panel-trigger').click(true);
        $('.returningUserPanel').removeClass('is-active is-visible');
    })
    

    有人能帮我解决这个问题吗?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Maor Refaeli    6 年前

    您需要保留对click处理程序的引用,例如 function myClickHandler = fucntion() {} 然后设定:
    - $('.item-cart .panel-trigger').click(myClickHandler);
    off - $('.item-cart .panel-trigger').off("click");

    但是一个更干净的解决方案是让处理程序保持打开状态并在内部决定是这样做还是那样做。