/*
* 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);
}