javascript - 如何暂时禁用 jQuery 中的点击处理程序?

标签 javascript jquery

假设我有如下类似的东西来捕获按钮的点击事件:

$("#button_id").click(function() {
  //disable click event
  //do something
  //re-enable click event
}

如何在原始点击处理结束之前暂时禁用按钮的点击事件?我基本上让 div 在单击按钮后消失,但如果用户多次快速单击按钮,它会在 div 有机会消失之前处理所有这些点击。我想“去抖动”按钮,以便在 div 消失之前只注册第一次点击。

最佳答案

我注意到这篇文章很旧,但它在谷歌上排名靠前,而且从未提供过这种解决方案,所以我还是决定发布它。

您可以只禁用光标事件,稍后通过 css 再次启用它们。所有主要浏览器都支持它,并且在某些情况下可能会很有用。

$("#button_id").click(function() {

   $("#button_id").css("pointer-events", "none");
   //do something
   $("#button_id").css("pointer-events", "auto");
}

关于javascript - 如何暂时禁用 jQuery 中的点击处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1263042/

相关文章:

javascript - 使用javascript在表中添加另一行

jquery - 如果从服务器运行 Bootstrap 会出错,但如果从文件运行则不会出错

jquery - HTML 文本区域值正在重置

javascript - 如何为 "Unresolved function or method"修复 WebStorm 警告 "require"(Firefox 附加 SDK)

javascript - 如何防止模式弹出asp.net

jquery - 当后端表单验证失败时,如何在 jQuery 对话框中重新打开 Django 表单?

javascript - 客户端公斤到磅无法正常工作

javascript - Chrome : Is it possible to detect losing window focus to the javascript console?

javascript - 我的 socket.io 客户端出现 io not defined 错误

javascript - 如何从 Adob​​e AIR 应用程序内的网页调用 AS3 代码?