当<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
触发的次数会少一些:仅触发于用户提交更改之后。