代码之家  ›  专栏  ›  技术社区  ›  Andrew

javascript:当文本元素仍然有焦点时,如何触发“onchange”事件?

  •  0
  • Andrew  · 技术社区  · 15 年前

    据我所知,文本输入元素的“onchange”事件仅在两个条件为真时激发:

    • 文本已更改。
    • 该字段不再具有焦点。

    所以当你点击关闭时,它会触发事件。当文本已更改但字段仍有焦点时,如何触发事件?

    2 回复  |  直到 15 年前
        1
  •  2
  •   Dan Davies Brackett    15 年前

    您可以访问 keypress , keyup keydown 事件; the details 在奇克斯模式可以找到那些火。

        2
  •  2
  •   bobince    15 年前

    可靠地?你不能。

    您可以通过启动更新检查器来捕获大部分更改。 onkeyup 以及 onchange . 然而,虽然这可以获得简单的键盘交互,但它无法触发其他事件,如剪切和粘贴(有 onpaste 在某些浏览器中,但您不能依赖它),拖放、撤消重做和拼写检查更改。

    HTML5建议 oninput 为了解决这个问题,但是还没有实现。如果你真的想在今天发现所有的输入更改,你必须 setInterval 一种不断检查输入值以查看其是否发生变化的函数。