nsIDOMEvent

This interface is the primary data type for all events in the Document Object Model.
Inherits from: nsISupports Last changed in Gecko 16.0 (Firefox 16.0 / Thunderbird 16.0 / SeaMonkey 2.13)

Note: As of Gecko 16.0, the nsIPrivateDOMEvent interface was merged into this interface. Everything marked as Gecko 16.0 was previously available in that interface. See bug 761613.

Method overview

boolean Deserialize(in ConstIPCMessagePtr aMsg, out voidPtr aIter); Violates the XPCOM interface guidelines
void duplicatePrivateData(); Native code only!
nsEventPtr GetInternalNSEvent(); Violates the XPCOM interface guidelines
boolean getPreventDefault(); Deprecated since Gecko 16.0
void initEvent(in DOMString eventTypeArg, in boolean canBubbleArg, in boolean cancelableArg);
boolean IsDispatchStopped(); Violates the XPCOM interface guidelines
void preventBubble(); Obsolete since Gecko 24
void preventCapture(); Obsolete since Gecko 24
void preventDefault();
void Serialize(in IPCMessagePtr aMsg, in boolean aSerializeInterfaceType); Violates the XPCOM interface guidelines
void setTarget(in nsIDOMEventTarget aTarget); Native code only!
void SetTrusted(in boolean aTrusted); Native code only!
void stopImmediatePropagation();
void stopPropagation();

Attributes

Attribute Type Description
bubbles boolean Used to indicate whether or not an event is a bubbling event. If the event can bubble the value is true, else the value is false. Read only.
cancelable boolean Used to indicate whether or not an event can have its default action prevented. If the default action can be prevented the value is true, else the value is false. Read only.
currentTarget nsIDOMEventTarget Used to indicate the EventTarget whose EventListeners are currently being processed. This is particularly useful during capturing and bubbling. Read only.
defaultPrevented boolean Used to indicate whether preventDefault() has been called for this event. Read only.
eventPhase unsigned short Used to indicate which phase of event flow is currently being evaluated. Read only.
explicitOriginalTarget nsIDOMEventTarget The explicit original target of the event. If the event was retargeted for some reason other than an anonymous boundary crossing, this will be set to the target before the retargeting occurs. For example, mouse events are retargeted to their parent node when they happen over text nodes (bug 185889), and in that case .target will show the parent and .explicitOriginalTarget will show the text node. .explicitOriginalTarget differs from .originalTarget in that it will never contain anonymous content. Read only.
isTrusted boolean Read only.
originalTarget nsIDOMEventTarget The original target of the event, before any retargetings. Read only.
target nsIDOMEventTarget Used to indicate the EventTarget to which the event was originally dispatched. Read only.
timeStamp DOMTimeStamp Used to specify the time (in milliseconds relative to the epoch) at which the event was created. 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, a value of 0 will be returned. Examples of epoch time are the time of the system start or 0:0:0 UTC 1st January 1970. Read only.
type DOMString The name of the event (case-insensitive). The name must be an XML name. Read only.

Constants

Constant Value Description
NONE 0 The event is not being dispatched.
CAPTURING_PHASE 1 The current event phase is the capturing phase.
AT_TARGET 2 The event is currently being evaluated at the target EventTarget.
BUBBLING_PHASE 3 The current event phase is the bubbling phase.
MOUSEDOWN 0x00000001
MOUSEUP 0x00000002
MOUSEOVER 0x00000004
MOUSEOUT 0x00000008
MOUSEMOVE 0x00000010
MOUSEDRAG 0x00000020
CLICK 0x00000040
DBLCLICK 0x00000080
KEYDOWN 0x00000100
KEYUP 0x00000200
KEYPRESS 0x00000400
DRAGDROP 0x00000800
FOCUS 0x00001000
BLUR 0x00002000
SELECT 0x00004000
CHANGE 0x00008000
RESET 0x00010000
SUBMIT 0x00020000
SCROLL 0x00040000
LOAD 0x00080000
UNLOAD 0x00100000
XFER_DONE 0x00200000
ABORT 0x00400000
ERROR 0x00800000
LOCATE 0x01000000
MOVE 0x02000000
RESIZE 0x04000000
FORWARD 0x08000000
HELP 0x10000000
BACK 0x20000000
TEXT 0x40000000
ALT_MASK 0x00000001
CONTROL_MASK 0x00000002
SHIFT_MASK 0x00000004
META_MASK 0x00000008

Methods

Violates the XPCOM interface guidelines

Deserialize()

boolean Deserialize(
  in ConstIPCMessagePtr aMsg,
  out voidPtr aIter
);
Parameters
aMsg
aIter
Return value

Native code only!

duplicatePrivateData

void duplicatePrivateData();
Parameters

None.

Violates the XPCOM interface guidelines

GetInternalNSEvent()

nsEventPtr GetInternalNSEvent();
Parameters

None.

Return value

getPreventDefault()

Deprecated since Gecko 16 (Firefox 16 / Thunderbird 16 / SeaMonkey 2.13)
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.

Note: Use the defaultPrevented attribute instead. This method will be removed in future releases, see bug 691151.

boolean getPreventDefault();
Parameters

None.

Return value

initEvent()

This method is used to initialize the value of an Event created through the DocumentEvent interface. This method may only be called before the Event 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. If called from a subclass of Event interface only the values specified in the initEvent method are modified, all other attributes are left unchanged.

void initEvent(
  in DOMString eventTypeArg,
  in boolean canBubbleArg,
  in boolean cancelableArg
);
Parameters
eventTypeArg
Specifies the event type. This type may be any event type currently defined in this specification or a new event type. The string must be an XML name. Any new event type must not begin with any upper, lower, or mixed case version of the string "DOM". This prefix is reserved for future DOM event sets. It is also strongly recommended that third parties adding their own events use their own prefix to avoid confusion and lessen the probability of conflicts with other new events.
canBubbleArg
Specifies whether or not the event can bubble.
cancelableArg
Specifies whether or not the event's default action can be prevented.

Violates the XPCOM interface guidelines

IsDispatchStopped()

boolean IsDispatchStopped();
Parameters

None.

Return value

preventBubble()

Obsolete since Gecko 24 (Firefox 24 / Thunderbird 24 / SeaMonkey 2.21)
This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.

Note: Use stopPropagation() instead.

void preventBubble();
Parameters

None.

preventCapture()

Obsolete since Gecko 24 (Firefox 24 / Thunderbird 24 / SeaMonkey 2.21)
This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.

Note: Use stopPropagation() instead.

void preventCapture();
Parameters

None.

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. If, during any stage of event flow, the preventDefault method is called the event is canceled. Any default action associated with the event will not occur. Calling this method for a non-cancelable event has no effect. Once preventDefault has been called it will remain in effect throughout the remainder of the event's propagation. This method may be used during any stage of event flow.

void preventDefault();
Parameters

None.

Violates the XPCOM interface guidelines

Serialize()

void Serialize(
  in IPCMessagePtr aMsg,
  in boolean aSerializeInterfaceType
);
Parameters
aMsg
aSerializeInterfaceType

Native code only!

setTarget

void setTarget(
  in nsIDOMEventTarget aTarget
);
Parameters
aTarget

Native code only!

SetTrusted

void SetTrusted(
  in boolean aTrusted
);
Parameters
aTrusted

stopImmediatePropagation()

Prevents other event listeners from being triggered and, unlike stopPropagation() its effect is immediate.

void stopImmediatePropagation();
Parameters

None.

stopPropagation()

The stopPropagation method is used prevent further propagation of an event during event flow. If this method is called by any EventListener the event will cease propagating through the tree. The event will complete dispatch to all listeners on the current EventTarget before event flow stops. This method may be used during any stage of event flow.

void stopPropagation();
Parameters

None.

See also