当我关闭模态对话框时,我想停止按键处理。
考虑我单击一个按钮并调用函数sam()。
功能山姆() { document.onkeypress = function(e){processKeystroke(e); } }
所以现在一个函数被附加到keypress事件。当按下某个键时,将调用函数processkeystroke。 只有在显示模态对话框后才会调用函数sam。
现在我正在关闭模态对话框,我不希望调用函数(e){processKes ...}。
我该怎么做才能从document.onkeypress中删除附加的事件监听器。
此外,我想有上述方法的替代方案,因为我假设我自己,我没有提到任何特定的文档,所以我真的通过试验和错误程序来使用事件处理程序或监听器。
因此,当我调用函数sam时,我想要一个函数附加keypress事件,如果我调用另一个函数形式示例closedialog(),我希望删除该按键监听功能。因为我想编写不应占用大量系统资源的正确代码。
答案 0 :(得分:2)
只需编写以下代码即可删除处理程序。
document.onkeypress = null;
由于您正在谈论附加,您可以检查jquery,其中提供真实的bind
(附加)和unbind
(分离),用于{{ 1}}。