gpt4 book ai didi

JavaScript 随时添加事件监听器并随时移除事件监听器

转载 作者:行者123 更新时间:2023-12-02 02:31:34 25 4
gpt4 key购买 nike

  1. 在网页中我有一个按钮,单击它会调用 JavaScript 函数。

  2. 在该函数中,我显示了一个模态对话框,此时我只想处理击键。那是模态对话框可见的时候。

  3. 当我关闭模态对话框时,我想停止击键处理。

  4. 假设我单击了一个按钮并调用了函数 sam()

    function sam()
    {
    document.onkeypress = function(e) { processKeystroke(e); }
    }
  5. 现在 keypress 事件附加了一个函数。每当按下一个键时,函数 processkeystroke 就会被调用。sam 函数在我显示模态对话框后才被调用。

  6. 现在我正在关闭模态对话框,并且我不想调用 function(e) { processKes...}

  7. 我应该怎么做才能从 document.onkeypress 中删除附加的事件监听器。

  8. 此外,我还想为上述方法提供替代方法,因为我采用了我自己的方法并且我没有引用任何特定文档,所以我真的要通过反复试验过程来使用事件处理程序或监听器.

  9. 所以当我调用函数 sam 时,我想要一个函数附加到 keypress 事件,如果我调用另一个函数形式示例 closedialog( ) 我希望删除 keypress 监听功能。因为我想编写不应该占用大量系统资源的适当代码。

最佳答案

只需编写以下代码即可删除处理程序。

 document.onkeypress = null;

既然你在谈论附加,你也许应该检查jquery它为 keypress 等事件提供了真正的 bind(附加)和 unbind(分离)。

关于JavaScript 随时添加事件监听器并随时移除事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3626277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com