javascript - 暂停事件监听器

标签 javascript css animation mootools

我有一个附加了 onclick 事件监听器的按钮(在 MooTools 中)。效果很好。但是,我希望能够使该按钮在某个特定时间不可用,并在必要时再次使其可用。

简单地说:我想“暂停”事件监听器。这可以做到吗? MooTools 文档仅涉及事件的添加、删除、克隆和传播。暂时不会“忽略”它们。

我知道这个问题的解决方案可以在其他地方:

  1. 用一些CSS隐藏按钮,例如$('button').setStyle('visibility', 'hidden') 并让它稍后再次显示
  2. 一些覆盖,再次隐藏原始元素,并显示替代元素(例如灰色按钮)
  3. 克隆元素,从原始元素中删除所有事件(使按钮“不可用”),然后用克隆替换原始元素(从而使其再次可用)
  4. 让附加到事件监听器的函数检查按钮是否可用

然而,这有点离题,而且似乎比必要的更复杂。我的问题是我是否以及如何控制事件监听器,基本上:我可以暂停它吗?

编辑:

我想答案是“不”。这意味着执行上述四件事之一,或者如我接受的答案中所述:禁用按钮 HTML 元素,从而暂停对事件监听器的响应。

最佳答案

我认为有两种方法可以做到这一点:

  1. 禁用该元素。当元素处于 disabled 状态时,事件监听器将被禁用。
  2. 删除事件监听器。这意味着一旦您想再次启用它,就必须重新添加它。这意味着您可以添加代码以在函数中添加事件,以便它可以重用。

关于javascript - 暂停事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9885207/

相关文章:

javascript - 我以为我了解范围

html - MySQL 到 InnerHtml Angular 7

html - 无法限制特定部分或 div 上的 CSS 动画

java - 可以更新其他对象值的动画类

html - 浏览器缩放时无法修复 slider 移动距离

javascript - 传递给组件的 prop 返回未定义

javascript - 简单的 jquery slider 问题

html - 如何使用 ".cdk-overlay-pane"为 Angular Material 垫选择自定义或应用另一个类 |垫对话框

javascript - 动画后部分显示带

用于字体更改器的 JavaScript