MutationEvent

Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

Non-standard: This feature is not standardized. We do not recommend using non-standard features in production, as they have limited browser support, and may change or be removed. However, they can be a suitable alternative in specific cases where no standard option exists.

The MutationEvent interface provides event properties that are specific to modifications to the Document Object Model (DOM) hierarchy and nodes.

Note: Using mutation events is problematic:

  • Their design is flawed.
  • Adding DOM mutation listeners to a document profoundly degrades the performance of further DOM modifications to that document (making them 1.5 - 7 times slower!). Moreover, removing the listeners does not reverse the damage.
  • They have poor cross-browser compatibility: Safari doesn't support DOMAttrModified (see WebKit bug 8191) and Firefox doesn't support mutation name events (like DOMElementNameChanged and DOMAttributeNameChanged).

They have been deprecated in favor of mutation observers. Consider using these instead.

Instance properties

This interface also inherits properties from its parent UIEvent, and indirectly from Event.

MutationEvent.attrChange Read only

Indicates what kind of change triggered the DOMAttrModified event. It can be MODIFICATION (1), ADDITION (2) or REMOVAL (3). It has no meaning for other events and is then set to 0.

MutationEvent.attrName Read only

Indicates the name of the node affected by the DOMAttrModified event. It has no meaning for other events and is then set to the empty string ("").

MutationEvent.newValue Read only

In DOMAttrModified events, contains the new value of the modified Attr node. In DOMCharacterDataModified events, contains the new value of the modified CharacterData node. In all other cases, returns the empty string ("").

MutationEvent.prevValue Read only

In DOMAttrModified events, contains the previous value of the modified Attr node. In DOMCharacterDataModified events, contains previous new value of the modified CharacterData node. In all other cases, returns the empty string ("").

MutationEvent.relatedNode Read only

Indicates the node related to the event, like the changed node inside the subtree for DOMSubtreeModified.

Instance methods

MutationEvent.initMutationEvent()

Constructor method that returns a new MutationEvent configured with the parameters given.

Mutation events list

The following is a list of all mutation events:

  • DOMAttrModified (Not supported by Safari)
  • DOMAttributeNameChanged (Not supported by Firefox)
  • DOMCharacterDataModified
  • DOMElementNameChanged (Not supported by Firefox)
  • DOMNodeInserted
  • DOMNodeInsertedIntoDocument
  • DOMNodeRemoved
  • DOMNodeRemovedFromDocument
  • DOMSubtreeModified

Examples

You can register a listener for mutation events using EventTarget.addEventListener() as follows:

js
element.addEventListener("DOMNodeInserted", (event) => {
  // …
});

Specifications

This feature does not appear to be defined in any specification.

Browser compatibility

desktop mobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
MutationEvent
Deprecated Non-standard
Chrome – No support
Chrome 1 – 126 (Release date: 2008-12-11)
footnote Removed in 127 and later
Edge – No support
Edge 12 – 126 (Release date: 2015-07-29)
footnote Removed in 127 and later
Firefox – No support
Firefox 1 – 139 (Release date: 2004-11-09)
footnote Removed in 140 and later
Opera – Full support
Opera 12.1 (Release date: 2012-11-20)
footnote Full support
Safari – No support
Safari 1 – 18.6 (Release date: 2003-06-23)
footnote Removed in 26 and later
Chrome Android – No support
Chrome Android 18 – 126 (Release date: 2012-06-27)
footnote Removed in 127 and later
Firefox for Android – No support
Firefox for Android 4 – 139 (Release date: 2011-03-29)
footnote Removed in 140 and later
Opera Android – Full support
Opera Android 12.1 (Release date: 2012-10-09)
footnote Full support
Safari on iOS – No support
Safari on iOS 1 – 18.6 (Release date: 2007-06-29)
footnote Removed in 26 and later
Samsung Internet – No support
Samsung Internet 1 – 27 (Release date: 2013-04-27)
footnote Removed in 28 and later
WebView Android – No support
WebView Android 4.4 – 126 (Release date: 2013-12-09)
footnote Removed in 127 and later
WebView on iOS – No support
WebView on iOS 1 – 18.6 (Release date: 2007-06-29)
footnote Removed in 26 and later
attrChange
Deprecated Non-standard
Chrome – No support
Chrome 1 – 126 (Release date: 2008-12-11)
footnote Removed in 127 and later
Edge – No support
Edge 12 – 126 (Release date: 2015-07-29)
footnote Removed in 127 and later
Firefox – No support
Firefox 1 – 139 (Release date: 2004-11-09)
footnote Removed in 140 and later
Opera – Full support
Opera 12.1 (Release date: 2012-11-20)
footnote Full support
Safari – No support
Safari 1 – 18.6 (Release date: 2003-06-23)
footnote Removed in 26 and later
Chrome Android – No support
Chrome Android 18 – 126 (Release date: 2012-06-27)
footnote Removed in 127 and later
Firefox for Android – No support
Firefox for Android 4 – 139 (Release date: 2011-03-29)
footnote Removed in 140 and later
Opera Android – Full support
Opera Android 12.1 (Release date: 2012-10-09)
footnote Full support
Safari on iOS – No support
Safari on iOS 1 – 18.6 (Release date: 2007-06-29)
footnote Removed in 26 and later
Samsung Internet – No support
Samsung Internet 1 – 27 (Release date: 2013-04-27)
footnote Removed in 28 and later
WebView Android – No support
WebView Android 4.4 – 126 (Release date: 2013-12-09)
footnote Removed in 127 and later
WebView on iOS – No support
WebView on iOS 1 – 18.6 (Release date: 2007-06-29)
footnote Removed in 26 and later
attrName
Deprecated Non-standard
Chrome – No support
Chrome 1 – 126 (Release date: 2008-12-11)
footnote Removed in 127 and later
Edge – No support
Edge 12 – 126 (Release date: 2015-07-29)
footnote Removed in 127 and later
Firefox – No support
Firefox 1 – 139 (Release date: 2004-11-09)
footnote Removed in 140 and later
Opera – Full support
Opera 12.1 (Release date: 2012-11-20)
footnote Full support
Safari – No support
Safari 1 – 18.6 (Release date: 2003-06-23)
footnote Removed in 26 and later
Chrome Android – No support
Chrome Android 18 – 126 (Release date: 2012-06-27)
footnote Removed in 127 and later
Firefox for Android – No support
Firefox for Android 4 – 139 (Release date: 2011-03-29)
footnote Removed in 140 and later
Opera Android – Full support
Opera Android 12.1 (Release date: 2012-10-09)
footnote Full support
Safari on iOS – No support
Safari on iOS 1 – 18.6 (Release date: 2007-06-29)
footnote Removed in 26 and later
Samsung Internet – No support
Samsung Internet 1 – 27 (Release date: 2013-04-27)
footnote Removed in 28 and later
WebView Android – No support
WebView Android 4.4 – 126 (Release date: 2013-12-09)
footnote Removed in 127 and later
WebView on iOS – No support
WebView on iOS 1 – 18.6 (Release date: 2007-06-29)
footnote Removed in 26 and later
initMutationEvent
Deprecated Non-standard
Chrome – No support
Chrome 1 – 126 (Release date: 2008-12-11)
footnote Removed in 127 and later
Edge – No support
Edge 12 – 126 (Release date: 2015-07-29)
footnote Removed in 127 and later
Firefox – No support
Firefox 1 – 139 (Release date: 2004-11-09)
footnote Removed in 140 and later
Opera – Full support
Opera 12.1 (Release date: 2012-11-20)
footnote Full support
Safari – No support
Safari 1 – 18.6 (Release date: 2003-06-23)
footnote Removed in 26 and later
Chrome Android – No support
Chrome Android 18 – 126 (Release date: 2012-06-27)
footnote Removed in 127 and later
Firefox for Android – No support
Firefox for Android 4 – 139 (Release date: 2011-03-29)
footnote Removed in 140 and later
Opera Android – Full support
Opera Android 12.1 (Release date: 2012-10-09)
footnote Full support
Safari on iOS – No support
Safari on iOS 1 – 18.6 (Release date: 2007-06-29)
footnote Removed in 26 and later
Samsung Internet – No support
Samsung Internet 1 – 27 (Release date: 2013-04-27)
footnote Removed in 28 and later
WebView Android – No support
WebView Android 4.4 – 126 (Release date: 2013-12-09)
footnote Removed in 127 and later
WebView on iOS – No support
WebView on iOS 1 – 18.6 (Release date: 2007-06-29)
footnote Removed in 26 and later
newValue
Deprecated Non-standard
Chrome – No support
Chrome 1 – 126 (Release date: 2008-12-11)
footnote Removed in 127 and later
Edge – No support
Edge 12 – 126 (Release date: 2015-07-29)
footnote Removed in 127 and later
Firefox – No support
Firefox 1 – 139 (Release date: 2004-11-09)
footnote Removed in 140 and later
Opera – Full support
Opera 12.1 (Release date: 2012-11-20)
footnote Full support
Safari – No support
Safari 1 – 18.6 (Release date: 2003-06-23)
footnote Removed in 26 and later
Chrome Android – No support
Chrome Android 18 – 126 (Release date: 2012-06-27)
footnote Removed in 127 and later
Firefox for Android – No support
Firefox for Android 4 – 139 (Release date: 2011-03-29)
footnote Removed in 140 and later
Opera Android – Full support
Opera Android 12.1 (Release date: 2012-10-09)
footnote Full support
Safari on iOS – No support
Safari on iOS 1 – 18.6 (Release date: 2007-06-29)
footnote Removed in 26 and later
Samsung Internet – No support
Samsung Internet 1 – 27 (Release date: 2013-04-27)
footnote Removed in 28 and later
WebView Android – No support
WebView Android 4.4 – 126 (Release date: 2013-12-09)
footnote Removed in 127 and later
WebView on iOS – No support
WebView on iOS 1 – 18.6 (Release date: 2007-06-29)
footnote Removed in 26 and later
prevValue
Deprecated Non-standard
Chrome – No support
Chrome 1 – 126 (Release date: 2008-12-11)
footnote Removed in 127 and later
Edge – No support
Edge 12 – 126 (Release date: 2015-07-29)
footnote Removed in 127 and later
Firefox – No support
Firefox 1 – 139 (Release date: 2004-11-09)
footnote Removed in 140 and later
Opera – Full support
Opera 12.1 (Release date: 2012-11-20)
footnote Full support
Safari – No support
Safari 1 – 18.6 (Release date: 2003-06-23)
footnote Removed in 26 and later
Chrome Android – No support
Chrome Android 18 – 126 (Release date: 2012-06-27)
footnote Removed in 127 and later
Firefox for Android – No support
Firefox for Android 4 – 139 (Release date: 2011-03-29)
footnote Removed in 140 and later
Opera Android – Full support
Opera Android 12.1 (Release date: 2012-10-09)
footnote Full support
Safari on iOS – No support
Safari on iOS 1 – 18.6 (Release date: 2007-06-29)
footnote Removed in 26 and later
Samsung Internet – No support
Samsung Internet 1 – 27 (Release date: 2013-04-27)
footnote Removed in 28 and later
WebView Android – No support
WebView Android 4.4 – 126 (Release date: 2013-12-09)
footnote Removed in 127 and later
WebView on iOS – No support
WebView on iOS 1 – 18.6 (Release date: 2007-06-29)
footnote Removed in 26 and later
relatedNode
Deprecated Non-standard
Chrome – No support
Chrome 1 – 126 (Release date: 2008-12-11)
footnote Removed in 127 and later
Edge – No support
Edge 12 – 126 (Release date: 2015-07-29)
footnote Removed in 127 and later
Firefox – No support
Firefox 1 – 139 (Release date: 2004-11-09)
footnote Removed in 140 and later
Opera – Full support
Opera 12.1 (Release date: 2012-11-20)
footnote Full support
Safari – No support
Safari 1 – 18.6 (Release date: 2003-06-23)
footnote Removed in 26 and later
Chrome Android – No support
Chrome Android 18 – 126 (Release date: 2012-06-27)
footnote Removed in 127 and later
Firefox for Android – No support
Firefox for Android 4 – 139 (Release date: 2011-03-29)
footnote Removed in 140 and later
Opera Android – Full support
Opera Android 12.1 (Release date: 2012-10-09)
footnote Full support
Safari on iOS – No support
Safari on iOS 1 – 18.6 (Release date: 2007-06-29)
footnote Removed in 26 and later
Samsung Internet – No support
Samsung Internet 1 – 27 (Release date: 2013-04-27)
footnote Removed in 28 and later
WebView Android – No support
WebView Android 4.4 – 126 (Release date: 2013-12-09)
footnote Removed in 127 and later
WebView on iOS – No support
WebView on iOS 1 – 18.6 (Release date: 2007-06-29)
footnote Removed in 26 and later

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Non-standard. Check cross-browser support before using.
Deprecated. Not for use in new websites.

See also