【发布时间】:2016-09-25 07:59:22
【问题描述】:
我有一个事件监听器
document.onkeyup = function (event) {
};
但我正在打开一个模式窗口(只是一个简单的 div 和 position: absolute; width: 100%; height: 100%; left: 0; top: 0)。
问题是当我在这个模态中输入表单时,按键事件监听器仍在后台监听,所以当模态窗口再次隐藏时,页面已经做了很多更改,因为键事件监听器。
如何在模式窗口打开时在后台暂停事件侦听器?我希望模态窗口的行为类似于prompt(),这使得页面上的其他所有内容都等待它完成。
【问题讨论】:
-
您不能暂停事件监听器。您可以做的是在打开模式时设置标志变量,并在侦听器中检查是否设置了标志。然后在关闭模式时重置标志。您还可以在打开模式时分离事件,并在关闭它时再次附加。第三种选择是为模式设置一个 keyup 侦听器,并防止事件传播。
-
好建议!谢谢
标签: javascript css prompt