/*
 * Copyright (c) 2000 World Wide Web Consortium,
 * (Massachusetts Institute of Technology, Institut National de
 * Recherche en Informatique et en Automatique, Keio University). All
 * Rights Reserved. This program is distributed under the W3C's Software
 * Intellectual Property License. This program is distributed in the
 * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
 * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
 * PURPOSE.
 * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
 */

package org.w3c.dom.events;

import org.w3c.dom.Node;

The MutationEvent interface provides specific contextual information associated with Mutation events.

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

Since:DOM Level 2
/** * The <code>MutationEvent</code> interface provides specific contextual * information associated with Mutation events. * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113'>Document Object Model (DOM) Level 2 Events Specification</a>. * @since DOM Level 2 */
public interface MutationEvent extends Event { // attrChangeType
The Attr was modified in place.
/** * The <code>Attr</code> was modified in place. */
public static final short MODIFICATION = 1;
The Attr was just added.
/** * The <code>Attr</code> was just added. */
public static final short ADDITION = 2;
The Attr was just removed.
/** * The <code>Attr</code> was just removed. */
public static final short REMOVAL = 3;
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.
/** * <code>relatedNode</code> 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 * <code>relatedNode</code> is the changed parent. If an event is * instead dispatched to a subtree indicating a node was changed within * it, the <code>relatedNode</code> is the changed node. In the case of * the DOMAttrModified event it indicates the <code>Attr</code> node * which was modified, added, or removed. */
public Node getRelatedNode();
prevValue indicates the previous value of the Attr node in DOMAttrModified events, and of the CharacterData node in DOMCharacterDataModified events.
/** * <code>prevValue</code> indicates the previous value of the * <code>Attr</code> node in DOMAttrModified events, and of the * <code>CharacterData</code> node in DOMCharacterDataModified events. */
public String getPrevValue();
newValue indicates the new value of the Attr node in DOMAttrModified events, and of the CharacterData node in DOMCharacterDataModified events.
/** * <code>newValue</code> indicates the new value of the <code>Attr</code> * node in DOMAttrModified events, and of the <code>CharacterData</code> * node in DOMCharacterDataModified events. */
public String getNewValue();
attrName indicates the name of the changed Attr node in a DOMAttrModified event.
/** * <code>attrName</code> indicates the name of the changed * <code>Attr</code> node in a DOMAttrModified event. */
public String getAttrName();
attrChange indicates the type of change which triggered the DOMAttrModified event. The values can be MODIFICATION , ADDITION, or REMOVAL.
/** * <code>attrChange</code> indicates the type of change which triggered * the DOMAttrModified event. The values can be <code>MODIFICATION</code> * , <code>ADDITION</code>, or <code>REMOVAL</code>. */
public short getAttrChange();
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.
Params:
  • 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
/** * The <code>initMutationEvent</code> method is used to initialize the * value of a <code>MutationEvent</code> created through the * <code>DocumentEvent</code> interface. This method may only be called * before the <code>MutationEvent</code> has been dispatched via the * <code>dispatchEvent</code> method, though it may be called multiple * times during that phase if necessary. If called multiple times, the * final invocation takes precedence. * @param typeArg Specifies the event type. * @param canBubbleArg Specifies whether or not the event can bubble. * @param cancelableArg Specifies whether or not the event's default * action can be prevented. * @param relatedNodeArg Specifies the <code>Event</code>'s related Node. * @param prevValueArg Specifies the <code>Event</code>'s * <code>prevValue</code> attribute. This value may be null. * @param newValueArg Specifies the <code>Event</code>'s * <code>newValue</code> attribute. This value may be null. * @param attrNameArg Specifies the <code>Event</code>'s * <code>attrName</code> attribute. This value may be null. * @param attrChangeArg Specifies the <code>Event</code>'s * <code>attrChange</code> attribute */
public void initMutationEvent(String typeArg, boolean canBubbleArg, boolean cancelableArg, Node relatedNodeArg, String prevValueArg, String newValueArg, String attrNameArg, short attrChangeArg); }