## org.w3c.dom.events
Interface EventTarget

All Known Subinterfaces:
  ExtendedNode, NodeEventTarget

All Known Implementing Classes:
  AbstractAttr, AbstractAttrNS, AbstractCharacterData, AbstractChildNode, AbstractComment, AbstractDocument, AbstractDocumentFragment, AbstractElement, AbstractElement, AbstractElementNS, AbstractEntity, AbstractEntityReference, AbstractNode, AbstractNotation, AbstractParentChildNode, AbstractParentNode, AbstractProcessingInstruction, AbstractStylableDocument, AbstractText, BatikHistogramNormalizationElement, BatikRegularPolygonElement, BatikStarElement, BindableElement, ColorSwitchElement, ExtensionElement, FlowDivElement, FlowLineElement, FlowParaElement, FlowRegionBreakElement, FlowRegionElement, FlowSpanElement, FlowTextElement, GenericAttr, GenericAttrNS, GenericCDATASection, GenericComment, GenericDocument, GenericDocumentFragment, GenericDocumentType, GenericElement, GenericElementNS, GenericEntity, GenericEntityReference, GenericNotation, GenericProcessingInstruction, GenericText, GraphicsExtensionElement, PrefixableStylableExtensionElement, StylableExtensionElement, StyleSheetProcessingInstruction, SVG12OMDocument, SVGDescriptiveElement, SVGGraphicsElement, SVGOMAElement, SVGOMAltGlyphDefElement, SVGOMAltGlyphElement, SVGOMAltGlyphItemElement, SVGOMAnimateColorElement, SVGOMAnimateElement, SVGOMAnimateMotionElement, SVGOMAnimateTransformElement, SVGOMAnimationElement, SVGOMCircleElement, SVGOMClipPathElement, SVGOMColorProfileElement, SVGOMComponentTransferFunctionElement, SVGOMCursorElement, SVGOMDefinitionSrcElement, SVGOMDefsElement, SVGOMDescElement, SVGOMDocument, SVGOMElement, SVGOMEllipseElement, SVGOMFEBlendElement, SVGOMFEColorMatrixElement, SVGOMFEComponentTransferElement, SVGOMFECompositeElement, SVGOMFEConvolveMatrixElement, SVGOMFEDiffuseLightingElement, SVGOMFEDisplacementMapElement, SVGOMFEDistantLightElement, SVGOMFEFloodElement, SVGOMFEFuncAElement, SVGOMFEFuncBElement, SVGOMFEFuncGElement, SVGOMFEFuncRElement, SVGOMFEGaussianBlurElement, SVGOMFEImageElement, SVGOMFEMergeElement, SVGOMFEMergeNodeElement, SVGOMFEMorphologyElement, SVGOMFEOffsetElement, SVGOMFEPointLightElement, SVGOMFESpecularLightingElement, SVGOMFESpotLightElement, SVGOMFETileElement, SVGOMFETurbulenceElement, SVGOMFilterElement, SVGOMFilterPrimitiveStandardAttributes, SVGOMFlowDivElement, SVGOMFlowLineElement, SVGOMFlowParaElement, SVGOMFlowRegionBreakElement, SVGOMFlowRegionElement, SVGOMFlowRegionExcludeElement, SVGOMFlowRootElement, SVGOMFlowSpanElement, SVGOMFontElement, SVGOMFontFaceElement, SVGOMFontFaceFormatElement, SVGOMFontFaceNameElement, SVGOMFontFaceSrcElement, SVGOMFontFaceUriElement, SVGOMForeignObjectElement, SVGOMGElement, SVGOMGlyphElement, SVGOMGlyphRefElement, SVGOMGradientElement, SVGOMHandlerElement, SVGOMHKernElement, SVGOMImageElement, SVGOMLinearGradientElement, SVGOMLineElement, SVGOMMarkerElement, SVGOMMaskElement, SVGOMMetadataElement, SVGOMMissingGlyphElement, SVGOMMPathElement, SVGOMMultiImageElement, SVGOMPathElement, SVGOMPatternElement, SVGOMPolygonElement, SVGOMPolylineElement, SVGOMRadialGradientElement, SVGOMRectElement, SVGOMScriptElement, SVGOMSetElement, SVGOMSolidColorElement, SVGOMStopElement, SVGOMStyleElement, SVGOMSubImageElement, SVGOMSubImageRefElement, SVGOMSVGElement, SVGOMSwitchElement, SVGOMSymbolElement, SVGOMTextContentElement, SVGOMTextElement, SVGOMTextPathElement, SVGOMTextPositioningElement, SVGOMTitleElement, SVGOMToBeImplementedElement, SVGOMTRefElement, SVGOMTSpanElement, SVGOMURIReferenceElement, SVGOMUseElement, SVGOMUseShadowRoot, SVGOMViewElement, SVGOMVKernElement, SVGPointShapeElement, SVGStylableElement, SVGStyleSheetProcessingInstruction, SVGURIReferenceGraphicsElement, SVGURIReferenceTextPositioningElement, XBLOMContentElement, XBLOMDefinitionElement, XBLOMElement, XBLOMHandlerGroupElement, XBLOMImportElement, XBLOMShadowTreeElement, XBLOMTemplateElement, XBLOMXBLElement

    public interface EventTarget

The `EventTarget` interface is implemented by all the objects which could be event targets in an implementation which supports the . The interface allows registration and removal of event listeners, and dispatch of events to an event target.

When used with , this interface is implemented by all target nodes and target ancestors, i.e. all DOM `Nodes` of the tree support this interface when the implementation conforms to DOM Level 3 Events and, therefore, this interface can be obtained by using binding-specific casting methods on an instance of the `Node` interface.

Invoking `addEventListener` or `addEventListenerNS` repeatedly on the same `EventTarget` with the same values for the parameters `namespaceURI`, `type`, `listener`, and `useCapture` has no effect. Doing so does not cause the `EventListener` to be called more than once and does not cause a change in the triggering order. In order to register a listener for a different event group () the previously registered listener has to be removed first.

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

Since:
  DOM Level 2

Method Summary
`void` `addEventListener(java.lang.String type, EventListener listener, boolean useCapture)` This method allows the registration of an event listener in the default group and, depending on the `useCapture` parameter, on the capture phase of the DOM event flow or its target and bubbling phases.
`void` `addEventListenerNS(java.lang.String namespaceURI, java.lang.String type, EventListener listener, boolean useCapture, java.lang.Object evtGroup)` This method allows the registration of an event listener in a specified group or the default group and, depending on the `useCapture` parameter, on the capture phase of the DOM event flow or its target and bubbling phases.
`boolean` `dispatchEvent(Event evt)` This method allows the dispatch of events into the implementation's event model.
`void` `removeEventListener(java.lang.String type, EventListener listener, boolean useCapture)` This method allows the removal of event listeners from the default group.
`void` `removeEventListenerNS(java.lang.String namespaceURI, java.lang.String type, EventListener listener, boolean useCapture)` This method allows the removal of an event listener, independently of the associated event group.

Method Detail

### addEventListener

    void addEventListener(java.lang.String type,
                          EventListener listener,
                          boolean useCapture)

  This method allows the registration of an event listener in the default group and, depending on the `useCapture` parameter, on the capture phase of the DOM event flow or its target and bubbling phases. Invoking this method is equivalent to invoking `addEventListenerNS` with the same values for the parameters `type`, `listener`, and `useCapture`, and the value `null` for the parameters `namespaceURI` and `evtGroup`.

  Parameters:
    `type` - Specifies the `Event.type` associated with the event for which the user is registering.
    `listener` - The `listener` parameter takes an object implemented by the user which implements the `EventListener` interface and contains the method to be called when the event occurs.
    `useCapture` - If true, `useCapture` indicates that the user wishes to add the event listener for the capture phase only, i.e. this event listener will not be triggered during the target and bubbling phases. If `false`, the event listener will only be triggered during the target and bubbling phases.

### removeEventListener

    void removeEventListener(java.lang.String type,
                             EventListener listener,
                             boolean useCapture)

  This method allows the removal of event listeners from the default group. Calling `removeEventListener` with arguments which do not identify any currently registered `EventListener` on the `EventTarget` has no effect. The `Event.namespaceURI` for which the user registered the event listener is implied and is `null`.

  Note: Event listeners registered for other event groups than the default group cannot be removed using this method; see `EventTarget.removeEventListenerNS()` for that effect.

  Parameters:
    `type` - Specifies the `Event.type` for which the user registered the event listener.
    `listener` - The `EventListener` to be removed.
    `useCapture` - Specifies whether the `EventListener` being removed was registered for the capture phase or not. If a listener was registered twice, once for the capture phase and once for the target and bubbling phases, each must be removed separately. Removal of an event listener registered for the capture phase does not affect the same event listener registered for the target and bubbling phases, and vice versa.

### dispatchEvent

    boolean dispatchEvent(Event evt)
                          throws EventException,
                                 org.w3c.dom.DOMException

  This method allows the dispatch of events into the implementation's event model. The event target of the event is the `EventTarget` object on which `dispatchEvent` is called.

  Parameters:
    `evt` - The event to be dispatched.
  Returns:
    Indicates whether any of the listeners which handled the event called `Event.preventDefault()`. If `Event.preventDefault()` was called the returned value is `false`, else it is `true`.
  Throws:
    `EventException` - UNSPECIFIED_EVENT_TYPE_ERR: Raised if the `Event.type` was not specified by initializing the event before `dispatchEvent` was called. Specification of the `Event.type` as `null` or an empty string will also trigger this exception.
    DISPATCH_REQUEST_ERR: Raised if the `Event` object is already being dispatched.
    `org.w3c.dom.DOMException` - NOT_SUPPORTED_ERR: Raised if the `Event` object has not been created using `DocumentEvent.createEvent()`.
    INVALID_CHARACTER_ERR: Raised if `Event.type` is not an NCName as defined in [XML Namespaces 1.1] .

### addEventListenerNS

    void addEventListenerNS(java.lang.String namespaceURI,
                            java.lang.String type,
                            EventListener listener,
                            boolean useCapture,
                            java.lang.Object evtGroup)

  This method allows the registration of an event listener in a specified group or the default group and, depending on the `useCapture` parameter, on the capture phase of the DOM event flow or its target and bubbling phases.

  Parameters:
    `namespaceURI` - Specifies the `Event.namespaceURI` associated with the event for which the user is registering.
    `type` - Refer to the `EventTarget.addEventListener()` method for a description of this parameter.
    `listener` - Refer to the `EventTarget.addEventListener()` method for a description of this parameter.
    `useCapture` - Refer to the `EventTarget.addEventListener()` method for a description of this parameter.
    `evtGroup` - The object that represents the event group to associate with the `EventListener` (see also ). Use `null` to attach the event listener to the default group.
  Since:
    DOM Level 3

### removeEventListenerNS

    void removeEventListenerNS(java.lang.String namespaceURI,
                               java.lang.String type,
                               EventListener listener,
                               boolean useCapture)

  This method allows the removal of an event listener, independently of the associated event group. Calling `removeEventListenerNS` with arguments which do not identify any currently registered `EventListener` on the `EventTarget` has no effect.

  Parameters:
    `namespaceURI` - Specifies the `Event.namespaceURI` associated with the event for which the user registered the event listener.
    `type` - Refer to the `EventTarget.removeEventListener()` method for a description of this parameter.
    `listener` - Refer to the `EventTarget.removeEventListener()` method for a description of this parameter.
    `useCapture` - Refer to the `EventTarget.removeEventListener()` method for a description of this parameter.
  Since:
    DOM Level 3

Copyright © 2008 Apache Software Foundation. All Rights Reserved.