/* * Copyright (c) 2006 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom.events; /** * The Event interface is used to provide contextual information * about an event to the listener processing the event. An object which * implements the Event interface is passed as the parameter to * an EventListener. More specific context information is * passed to event listeners by deriving additional interfaces from * Event which contain information directly relating to the * type of event they represent. These derived interfaces are also * implemented by the object passed to the event listener. *

To create an instance of the Event interface, use the * DocumentEvent.createEvent("Event") method call. *

See also the Document Object Model (DOM) Level 3 Events Specification . * @since DOM Level 2 */ public interface Event { // PhaseType /** * The current event phase is the capture phase. */ public static final short CAPTURING_PHASE = 1; /** * The current event is in the target phase, i.e. it is being evaluated * at the event target. */ public static final short AT_TARGET = 2; /** * The current event phase is the bubbling phase. */ public static final short BUBBLING_PHASE = 3; /** * The local name of the event type. The name must be an NCName as defined in [XML Namespaces 1.1] * and is case-sensitive. */ public String getType(); /** * Used to indicate the event target. This attribute contains the target * node when used with the . */ public EventTarget getTarget(); /** * Used to indicate the EventTarget whose * EventListeners are currently being processed. This is * particularly useful during the capture and bubbling phases. This * attribute could contain the target node or a target ancestor when * used with the . */ public EventTarget getCurrentTarget(); /** * Used to indicate which phase of event flow is currently being * accomplished. */ public short getEventPhase(); /** * Used to indicate whether or not an event is a bubbling event. If the * event can bubble the value is true, otherwise the value * is false. */ public boolean getBubbles(); /** * Used to indicate whether or not an event can have its default action * prevented (see also ). If the default action can be prevented the * value is true, otherwise the value is false * . */ public boolean getCancelable(); /** * Used to specify the time at which the event was created in * milliseconds relative to 1970-01-01T00:00:00Z. Due to the fact that * some systems may not provide this information the value of * timeStamp may be not available for all events. When not * available, the value is 0. */ public long getTimeStamp(); /** * This method is used to prevent event listeners of the same group to be * triggered but its effect is deferred until all event listeners * attached on the Event.currentTarget have been triggered * (see ). Once it has been called, further calls to that method have no * additional effect. *

Note: This method does not prevent the default action from * being invoked; use Event.preventDefault() for that * effect. */ public void stopPropagation(); /** * 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 (see also ), and thus independently of event groups. * Calling this method for a non-cancelable event has no effect. *

Note: This method does not stop the event propagation; use * Event.stopPropagation() or * Event.stopImmediatePropagation() for that effect. */ public void preventDefault(); /** * The initEvent method is used to initialize the value of * an Event created through the * DocumentEvent.createEvent method. This method may only * be called before the Event has been dispatched via the * EventTarget.dispatchEvent() method. If the method is * called several times before invoking * EventTarget.dispatchEvent, only the final invocation * takes precedence. This method has no effect if called after the event * has been dispatched. If called from a subclass of the * Event interface only the values specified in this method * are modified, all other attributes are left unchanged. *
This method sets the Event.type attribute to * eventTypeArg, and Event.namespaceURI to * null. To initialize an event with a namespace URI, use * the Event.initEventNS() method. * @param eventTypeArg Specifies Event.type, the local name * of the event type. * @param canBubbleArg Specifies Event.bubbles. This * parameter overrides the intrinsic bubbling behavior of the event. * @param cancelableArg Specifies Event.cancelable. This * parameter overrides the intrinsic cancelable behavior of the event. * */ public void initEvent(String eventTypeArg, boolean canBubbleArg, boolean cancelableArg); /** * The namespace URI associated with this event at creation time, or * null if it is unspecified. *
For events initialized with a DOM Level 2 Events method, such as * Event.initEvent(), this is always null. * @since DOM Level 3 */ public String getNamespaceURI(); /** * This method is used to prevent event listeners of the same group to be * triggered and, unlike Event.stopPropagation() its effect * is immediate (see ). Once it has been called, further calls to that * method have no additional effect. *

Note: This method does not prevent the default action from * being invoked; use Event.preventDefault() for that * effect. * @since DOM Level 3 */ public void stopImmediatePropagation(); /** * Used to indicate whether Event.preventDefault() has been * called for this event. * @since DOM Level 3 */ public boolean getDefaultPrevented(); /** * The initEventNS method is used to initialize the value of * an Event object and has the same behavior as * Event.initEvent(). * @param namespaceURIArg Specifies Event.namespaceURI, the * namespace URI associated with this event, or null if * no namespace. * @param eventTypeArg Refer to the Event.initEvent() * method for a description of this parameter. * @param canBubbleArg Refer to the Event.initEvent() * method for a description of this parameter. * @param cancelableArg Refer to the Event.initEvent() * method for a description of this parameter. * @since DOM Level 3 */ public void initEventNS(String namespaceURIArg, String eventTypeArg, boolean canBubbleArg, boolean cancelableArg); }