<input>文本更改事件

nor*_*gon 16 javascript events text input

是否有可以从<input type=text>(或contentEditable - 任何单行输入字段)元素中提取所有文本事件的库?

特别是,我需要知道文本何时被更改:

  • 打字(asdf,退格)
  • 剪切/粘贴
  • 关键的组合动作(例如ctrl + bksp或option + bksp删除前一个单词)
  • 拖放文字
  • 编辑菜单操作

最好是改变了什么(是否以及插入,删除或替换了哪些文本).

需要使用Chrome,Safari,Firefox 3 +,IE9 +.

And*_*y E 25

oninput所有这些浏览器都支持HTML5 事件,并且非常类似于onchange事件,但只要元素的输入发生变化就会触发.它也会冒泡,因此您可以在文档树中进一步捕获它.

element.oninput = function () {

}
Run Code Online (Sandbox Code Playgroud)

工作演示:http://jsfiddle.net/Zfthe/

http://whattheheadsaid.com/2010/09/effectively-detecting-user-input-in-javascript