如何禁用单击并稍后使用jQuery重新启用它

时间:2017-03-29 01:25:37

标签: javascript jquery

我有一个由点击触发的功能。我想点击它后禁用点击。所以我做了这个

$('.item-blog').on('click', function(){

    $('.item-blog').off('click');

});

并且它完美运作。

但是后来,在所有事件结束时,在最后一个函数中,当我重置了所有的东西并且我已经运行了所有代码时,我希望能够重新单击第一个函数以便触发再次发生同样的事件。所以我把它放在最后一个重置所有内容的函数中。

$('.item-blog').on('click');

但它根本不起作用。

我甚至尝试过绑定和取消绑定,但每次我想重新启用点击时,它都无法正常工作。

一些帮助?

非常感谢

2 个答案:

答案 0 :(得分:0)

尝试删除课程...并添加一个临时课程 ;)

$(document).on('click','.item-blog', function(){
    $(this).removeClass("item-blog").addClass("item-blog-disabled");
});

然后,稍后,您只需使用item-blog-disabled类重新添加该类 像:

$(document).find('.item-blog-disabled').removeClass("item-blog-disabled").addClass("item-blog");

现在,处理程序被绑定到document,代理.item-blog它。

让您有机会使用简单的类删除/添加这些元素的处理程序。

答案 1 :(得分:0)

您可以尝试按下面的 Dictionary<string,object> dic = new Dictionary<string, object>(); foreach (Property p in item.Properties) { dic[p.Name] = p.Value; } on来切换点击。

&#13;
&#13;
off
&#13;
$(document).ready(function(){

function toggleClick(on) {

   if(on) {
      $('.item-blog').on('click', function(){
         console.log('clicked');
         toggleClick(false);

      });

   } else {
      $('.item-blog').off('click');
   }

}

toggleClick(true);

$('.item-blog-reset').on('click', function(){
    console.log('Reset done');
    toggleClick(true);

});

});
&#13;
&#13;
&#13;