MutationEvent (Java SE 26 & JDK 26)
Description: declaration: module: java.xml, package: org.w3c.dom.events, interface: MutationEvent
Keywords: org.w3c.dom.events.MutationEvent interface

# Interface MutationEvent

All Superinterfaces:
  `Event`

public interface MutationEvent extends Event
The `MutationEvent` interface provides specific contextual information associated with Mutation events.

See also the Document Object Model (DOM) Level 2 Events Specification.

Since:
  1.5, DOM Level 2

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final short`
  `ADDITION`
  The `Attr` was just added.
  `static final short`
  `MODIFICATION`
  The `Attr` was modified in place.
  `static final short`
  `REMOVAL`
  The `Attr` was just removed.

  ### Fields declared in interface Event

  `AT_TARGET, BUBBLING_PHASE, CAPTURING_PHASE`
  Modifier and Type
  Field
  Description
  `static final short`
  `AT_TARGET`
  The event is currently being evaluated at the target `EventTarget`.
  `static final short`
  `BUBBLING_PHASE`
  The current event phase is the bubbling phase.
  `static final short`
  `CAPTURING_PHASE`
  The current event phase is the capturing phase.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `short`
  `getAttrChange()`
  `attrChange` indicates the type of change which triggered the DOMAttrModified event.
  `String`
  `getAttrName()`
  `attrName` indicates the name of the changed `Attr` node in a DOMAttrModified event.
  `String`
  `getNewValue()`
  `newValue` indicates the new value of the `Attr` node in DOMAttrModified events, and of the `CharacterData` node in DOMCharacterDataModified events.
  `String`
  `getPrevValue()`
  `prevValue` indicates the previous value of the `Attr` node in DOMAttrModified events, and of the `CharacterData` node in DOMCharacterDataModified events.
  `Node`
  `getRelatedNode()`
  `relatedNode` is used to identify a secondary node related to a mutation event.
  `void`
  `initMutationEvent(String typeArg, boolean canBubbleArg, boolean cancelableArg, Node relatedNodeArg, String prevValueArg, String newValueArg, String attrNameArg, short attrChangeArg)`
  The `initMutationEvent` method is used to initialize the value of a `MutationEvent` created through the `DocumentEvent` interface.

  ### Methods declared in interface Event

  `getBubbles, getCancelable, getCurrentTarget, getEventPhase, getTarget, getTimeStamp, getType, initEvent, preventDefault, stopPropagation`
  Modifier and Type
  Method
  Description
  `boolean`
  `getBubbles()`
  Used to indicate whether or not an event is a bubbling event.
  `boolean`
  `getCancelable()`
  Used to indicate whether or not an event can have its default action prevented.
  `EventTarget`
  `getCurrentTarget()`
  Used to indicate the `EventTarget` whose `EventListeners` are currently being processed.
  `short`
  `getEventPhase()`
  Used to indicate which phase of event flow is currently being evaluated.
  `EventTarget`
  `getTarget()`
  Used to indicate the `EventTarget` to which the event was originally dispatched.
  `long`
  `getTimeStamp()`
  Used to specify the time (in milliseconds relative to the epoch) at which the event was created.
  `String`
  `getType()`
  The name of the event (case-insensitive).
  `void`
  `initEvent(String eventTypeArg, boolean canBubbleArg, boolean cancelableArg)`
  The `initEvent` method is used to initialize the value of an `Event` created through the `DocumentEvent` interface.
  `void`
  `preventDefault()`
  If an event is cancelable, the `preventDefault` method is used to signify that the event is to be canceled, meaning any default action normally taken by the implementation as a result of the event will not occur.
  `void`
  `stopPropagation()`
  The `stopPropagation` method is used prevent further propagation of an event during event flow.

- ## Field Details

  - ### MODIFICATION

    static final short MODIFICATION
    The `Attr` was modified in place.
    See Also:
      - Constant Field Values

  - ### ADDITION

    static final short ADDITION
    The `Attr` was just added.
    See Also:
      - Constant Field Values

  - ### REMOVAL

    static final short REMOVAL
    The `Attr` was just removed.
    See Also:
      - Constant Field Values

- ## Method Details

  - ### getRelatedNode

    Node getRelatedNode()
    `relatedNode` is used to identify a secondary node related to a mutation event. For example, if a mutation event is dispatched to a node indicating that its parent has changed, the `relatedNode` is the changed parent. If an event is instead dispatched to a subtree indicating a node was changed within it, the `relatedNode` is the changed node. In the case of the DOMAttrModified event it indicates the `Attr` node which was modified, added, or removed.

  - ### getPrevValue

    String getPrevValue()
    `prevValue` indicates the previous value of the `Attr` node in DOMAttrModified events, and of the `CharacterData` node in DOMCharacterDataModified events.

  - ### getNewValue

    String getNewValue()
    `newValue` indicates the new value of the `Attr` node in DOMAttrModified events, and of the `CharacterData` node in DOMCharacterDataModified events.

  - ### getAttrName

    String getAttrName()
    `attrName` indicates the name of the changed `Attr` node in a DOMAttrModified event.

  - ### getAttrChange

    short getAttrChange()
    `attrChange` indicates the type of change which triggered the DOMAttrModified event. The values can be `MODIFICATION` , `ADDITION`, or `REMOVAL`.

  - ### initMutationEvent

    void initMutationEvent(String typeArg, boolean canBubbleArg, boolean cancelableArg, Node relatedNodeArg, String prevValueArg, String newValueArg, String attrNameArg, short attrChangeArg)
    The `initMutationEvent` method is used to initialize the value of a `MutationEvent` created through the `DocumentEvent` interface. This method may only be called before the `MutationEvent` has been dispatched via the `dispatchEvent` method, though it may be called multiple times during that phase if necessary. If called multiple times, the final invocation takes precedence.
    Parameters:
      `typeArg` - Specifies the event type.
      `canBubbleArg` - Specifies whether or not the event can bubble.
      `cancelableArg` - Specifies whether or not the event's default action can be prevented.
      `relatedNodeArg` - Specifies the `Event`'s related Node.
      `prevValueArg` - Specifies the `Event`'s `prevValue` attribute. This value may be null.
      `newValueArg` - Specifies the `Event`'s `newValue` attribute. This value may be null.
      `attrNameArg` - Specifies the `Event`'s `attrName` attribute. This value may be null.
      `attrChangeArg` - Specifies the `Event`'s `attrChange` attribute