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

标签 javascript jquery

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

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

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

});

并且运行完美。

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

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

但是它根本不起作用。

我什至尝试过绑定(bind)和取消绑定(bind),但每次我想重新启用点击时,它都不起作用。

有什么帮助吗?

非常感谢

最佳答案

您可以尝试如下所示的onoff来切换点击。

$(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);

});

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="button" value="Click" class="item-blog" />
<input type="button" value="Reset" class="item-blog-reset" />

关于javascript - 如何使用 jQuery 禁用单击并稍后重新启用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43082679/

相关文章:

javascript - 如何在 VueJS 应用程序中使用 Google Web 字体?

javascript - 如何在浏览器中加载简单的 es6 模块?

Javascript 从关联数组中查找最小数字(冒泡排序方法)

javascript - 是否有任何编辑器像 jsfiddle 可用于本地机器

javascript - 停止眨眼事件

javascript - SQL 报告服务 - 报告不更新

javascript - 请参阅 Meteor.js 中允许/拒绝规则的更新文档

javascript - jQuery 插件干扰/其他 Javascript

javascript - 我可以绑定(bind)到使用 jquery.load() 加载的元素吗?

jquery - 自定义 slider 问题