我有一个附加了 onclick
事件监听器的按钮(在 MooTools 中)。效果很好。但是,我希望能够使该按钮在某个特定时间不可用,并在必要时再次使其可用。
简单地说:我想“暂停”事件监听器。这可以做到吗? MooTools 文档仅涉及事件的添加、删除、克隆和传播。暂时不会“忽略”它们。
我知道这个问题的解决方案可以在其他地方:
- 用一些CSS隐藏按钮,例如
$('button').setStyle('visibility', 'hidden')
并让它稍后再次显示 - 一些覆盖,再次隐藏原始元素,并显示替代元素(例如灰色按钮)
- 克隆元素,从原始元素中删除所有事件(使按钮“不可用”),然后用克隆替换原始元素(从而使其再次可用)
- 让附加到事件监听器的函数检查按钮是否可用
然而,这有点离题,而且似乎比必要的更复杂。我的问题是我是否以及如何控制事件监听器,基本上:我可以暂停它吗?
编辑:
我想答案是“不”。这意味着执行上述四件事之一,或者如我接受的答案中所述:禁用按钮 HTML 元素,从而暂停对事件监听器的响应。
最佳答案
我认为有两种方法可以做到这一点:
- 禁用该元素。当元素处于
disabled
状态时,事件监听器将被禁用。 - 删除事件监听器。这意味着一旦您想再次启用它,就必须重新添加它。这意味着您可以添加代码以在函数中添加事件,以便它可以重用。
关于javascript - 暂停事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9885207/