【问题标题】:javascript add an event listener any time and remove the event listener any timejavascript随时添加事件侦听器并随时删除事件侦听器
【发布时间】:2010-09-02 10:37:57
【问题描述】:
  1. 在网页中,我有一个按钮,单击它会调用 JavaScript 函数。
  2. 在该函数中,我显示了一个模式对话框,我只想在此时处理击键。这就是模态对话框可见的时候。
  3. 当我关闭模态对话框时,我想停止按键处理。

  4. 考虑我点击一个按钮并调用函数 sam()。

    函数 sam() { document.onkeypress = function(e) { processKeystroke(e); } }

  5. 所以现在一个函数被附加到按键事件。当一个键被按下时,函数 processkeystroke 将被调用。 只有在我显示模态对话框后才会调用函数 sam。

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

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

  8. 1234563 1234563因为我想编写不应该消耗大量系统资源的正确代码。

【问题讨论】:

    标签: javascript-events


    【解决方案1】:

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

     document.onkeypress = null;
    

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

    【讨论】:

      猜你喜欢
      • 2018-09-04
      • 1970-01-01
      • 1970-01-01
      • 2013-06-27
      • 1970-01-01
      • 2022-08-03
      • 2012-07-18
      • 2016-11-28
      • 2011-03-07
      相关资源
      最近更新 更多