标签:
The change
event is fired for <input>
, <select>
, and <textarea>
elements when a change to the element‘s value is committed by the user. Unlike the input
event, the change
event is not necessarily fired for each change to an element‘s value
.
事件在元素input,select,textarea的内容由用户改变的时候触发,并且不像input事件每一次的改变都触发。
Depending on the kind of form element being changed and the way the user interacts with the element, the change
event fires at a different moment:
When the element is activated (by clicking or using the keyboard) for <input type="radio">
and <input type="checkbox">
;
When the user commits the change explicitly (e.g. by selecting a value from a <select>
‘s dropdown with a mouse click, by selecting a date from a date picker for <input type="date">
, by selecting a file in the file picker for <input type="file">
, etc.);
When the element loses focus after its value was changed, but not commited (e.g. after editing the value of <textarea>
or <input type="text">
).
Different browsers do not always agree whether a change
event should be fired for certain types of interaction. For example, keyboard navigation in <select>
elements never fires a change
event in Gecko until the user hits Enter or switches the focus away from the <select>
(see bug 126379).
描述
事件触发依赖于元素类型,触发方式以及触发不同时刻,如下所示
对于<input type=‘radio‘>和<input type="checkbox">,元素激活时触发(通过点击或者键盘)
用户明确提交更改(例如,鼠标点击选取select,从
<input type="date">选取日期,从<input type="file">选取文件)
元素失去焦点时内容以改变,但并未提交(例如 <textarea>
或者 <input type="text">)也会触发、
不同的游览器不保证特定类型的交互触发change事件。例如,在Gecko,除非用户点击enter或者从<select>移去焦点,通过键盘选取select将不会触发change事件。
引用:https://developer.mozilla.org/en-US/docs/Web/Events/change
**
怪不得很多change事件和预想的不一样。
标签:
原文地址:http://my.oschina.net/u/214483/blog/412139