input

<input> or <textarea>的值变更时将触发DOM的input事件。 此外对于含有contenteditable属性的编辑器,内容变更时也会触发。后一种情况下,event的target是容纳此编辑器的元素。 如果多个元素都有contenteditable属性,那么target就是最近的不可编辑的父元素。同样,在designMode的编辑器的根元素上触发时也是类似。

常规信息

Specification
HTML5, DOM Level 3 Events
Interface
Event, InputEvent
Bubbles
Yes
Cancelable
No
Target
Element
Default Action
The value or the content is modified.

属性

Property Type Description
target 只读 EventTarget The event target (the topmost target in the DOM tree).
type 只读 DOMString The type of event.
bubbles 只读 Boolean Whether the event normally bubbles or not
cancelable 只读 Boolean Whether the event is cancellable or not?

浏览器兼容性

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes)[1] 9[2] (Yes)[3] (Yes)
紧随 compositionupdate 之后触发 (Yes) 12 (12) (Yes) 未实现 (Yes)
可用于 contenteditable 元素 (Yes) 14 (14) 未实现[4] 15 (Yes)
designMode 为 "on" 时 (Yes) 14 (14) 未实现 未实现 (Yes)
data ? 未实现 ? ? ?
isComposing 未实现 31 (31) 未实现 未实现 未实现
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) ? ? (Yes)
紧随 compositionupdate 之后触发 ? ? 12.0 (12) ? ? ?
可用于 contenteditable 元素 ? ? 14.0 (14) ? ? ?
designMode 为 "on" 时 ? ? 14.0 (14) ? ? ?
data ? ? 未实现 ? ? ?
isComposing 未实现 未实现 31.0 (31) 未实现 未实现 未实现

[1] 在 Gecko 12.0 (Firefox 12.0 / Thunderbird 12.0 / SeaMonkey 2.9) 之前,用户在输入法中输入时,或者 dead keys were used on Mac OS X 时,Gecko 不触发 input 事件。

[2] IE 9 在用户删除输入的文字时不触发 input 事件(例如,按 Backspace 或者删除键,或者“剪切”文字).

[3] Opera 在用户把文字拖进输入框时,不触发 input 事件。

[4] 事件 target 是光标所在的最内侧的元素。

参见

还有一个 change 事件,它比 input 触发的次数会少一些:仅触发于用户提交更改之后。

文档标签和贡献者

 此页面的贡献者: laobubu, ziyunfei, lyklykkkkkkk
 最后编辑者: laobubu,