change event is fired for
<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
- Default Action
||The event target (the topmost target in the DOM tree).|
||The type of event.|
||Does the event normally bubble?|
||Is it possible to cancel the event?|
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
- 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
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).
The HTML specification lists the
<input> types that should fire the
An incomplete example, which probably doesn't work on all browsers, on jsfiddle: http://jsfiddle.net/nfakc/5/.
Example: Change event on a
The following code handles the
change event on a
select by calling the
changeEventHandler function in the
onchange attribute. It reads the value of the event target and shows it in an alert.
NetworkInformation.connection fires the
change event when the connection information changes.
According to QuirksMode Chrome and Firefox have been compatible for some time, but IE9 and earlier versions of IE10 have incomplete support.