Javascript:如何在文本元素仍具有焦点时触发“onchange”事件?

时间:2010-03-04 18:38:27

标签: javascript

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

  • 文字已经改变。
  • 该字段不再具有焦点。

因此,当您单击关闭时,它会触发事件。如何在文本发生变化时触发事件,但该字段仍然具有焦点?

2 个答案:

答案 0 :(得分:2)

您可以访问keypresskeyupkeydown个事件; the details当Quirksmode可以找到那些火灾时。

答案 1 :(得分:2)

可靠?你还不能。

您可以通过触发更新检查器onkeyup以及onchange来捕获大部分更改。然而,虽然这会引起简单的键盘交互,但它无法触发其他事件,如剪切和粘贴(在某些浏览器中有onpaste,但你不能依赖它),拖放, undo-redo和spellchecker更改。

HTML5建议oninput来解决这个问题,但实现还没有。如果你真的想要发现今天的所有输入变化,你必须setInterval一个不断检查输入值的函数,看看它是否已经改变。