首页 > 解决方案 > 设置为false后重新激活jquery click方法

问题描述

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

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

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

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

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

标签: javascriptjquery

解决方案


您将需要保留对单击处理程序的引用,例如function myClickHandler = fucntion() {}并设置它:根据 您的逻辑 打开
$('.item-cart .panel-trigger').click(myClickHandler);
关闭$('.item-cart .panel-trigger').off("click");

但是一个更干净的解决方案是让处理程序在内部决定是否执行此操作。


推荐阅读