13 November, 2000

# Appendix C: ECMAScript Language Binding

This appendix contains the complete ECMAScript [ECMAScript] binding for the Level 2 Document Object Model Events definitions.

Note: Exceptions handling is only supported by ECMAScript implementation conformant with the Standard ECMA-262 3rd. Edition ([ECMAScript]).

Object EventTarget
  The EventTarget object has the following methods:
    addEventListener(type, listener, useCapture)
      This method has no return value.
      The type parameter is of type String.
      The listener parameter is a EventListener object.
      The useCapture parameter is of type Boolean.
    removeEventListener(type, listener, useCapture)
      This method has no return value.
      The type parameter is of type String.
      The listener parameter is a EventListener object.
      The useCapture parameter is of type Boolean.
    dispatchEvent(evt)
      This method returns a Boolean.
      The evt parameter is a Event object.
      This method can raise a EventException object.
Object EventListener
  This is an ECMAScript function reference. This method has no return value. The parameter is a Event object.
Prototype Object Event
  The Event class has the following constants:
    Event.CAPTURING_PHASE
      This constant is of type Number and its value is 1.
    Event.AT_TARGET
      This constant is of type Number and its value is 2.
    Event.BUBBLING_PHASE
      This constant is of type Number and its value is 3.
Object Event
  The Event object has the following properties:
    type
      This read-only property is of type String.
    target
      This read-only property is a EventTarget object.
    currentTarget
      This read-only property is a EventTarget object.
    eventPhase
      This read-only property is of type Number.
    bubbles
      This read-only property is of type Boolean.
    cancelable
      This read-only property is of type Boolean.
    timeStamp
      This read-only property is a Date object.
  The Event object has the following methods:
    stopPropagation()
      This method has no return value.
    preventDefault()
      This method has no return value.
    initEvent(eventTypeArg, canBubbleArg, cancelableArg)
      This method has no return value.
      The eventTypeArg parameter is of type String.
      The canBubbleArg parameter is of type Boolean.
      The cancelableArg parameter is of type Boolean.
Prototype Object EventException
  The EventException class has the following constants:
    EventException.UNSPECIFIED_EVENT_TYPE_ERR
      This constant is of type Number and its value is 0.
Object EventException
  The EventException object has the following properties:
    code
      This property is of type Number.
Object DocumentEvent
  The DocumentEvent object has the following methods:
    createEvent(eventType)
      This method returns a Event object.
      The eventType parameter is of type String.
      This method can raise a DOMException object.
Object UIEvent
  UIEvent has the all the properties and methods of the Event object as well as the properties and methods defined below.
  The UIEvent object has the following properties:
    view
      This read-only property is a AbstractView object.
    detail
      This read-only property is a long object.
  The UIEvent object has the following methods:
    initUIEvent(typeArg, canBubbleArg, cancelableArg, viewArg, detailArg)
      This method has no return value.
      The typeArg parameter is of type String.
      The canBubbleArg parameter is of type Boolean.
      The cancelableArg parameter is of type Boolean.
      The viewArg parameter is a AbstractView object.
      The detailArg parameter is a long object.
Object MouseEvent
  MouseEvent has the all the properties and methods of the UIEvent object as well as the properties and methods defined below.
  The MouseEvent object has the following properties:
    screenX
      This read-only property is a long object.
    screenY
      This read-only property is a long object.
    clientX
      This read-only property is a long object.
    clientY
      This read-only property is a long object.
    ctrlKey
      This read-only property is of type Boolean.
    shiftKey
      This read-only property is of type Boolean.
    altKey
      This read-only property is of type Boolean.
    metaKey
      This read-only property is of type Boolean.
    button
      This read-only property is of type Number.
    relatedTarget
      This read-only property is a EventTarget object.
  The MouseEvent object has the following methods:
    initMouseEvent(typeArg, canBubbleArg, cancelableArg, viewArg, detailArg, screenXArg, screenYArg, clientXArg, clientYArg, ctrlKeyArg, altKeyArg, shiftKeyArg, metaKeyArg, buttonArg, relatedTargetArg)
      This method has no return value.
      The typeArg parameter is of type String.
      The canBubbleArg parameter is of type Boolean.
      The cancelableArg parameter is of type Boolean.
      The viewArg parameter is a AbstractView object.
      The detailArg parameter is a long object.
      The screenXArg parameter is a long object.
      The screenYArg parameter is a long object.
      The clientXArg parameter is a long object.
      The clientYArg parameter is a long object.
      The ctrlKeyArg parameter is of type Boolean.
      The altKeyArg parameter is of type Boolean.
      The shiftKeyArg parameter is of type Boolean.
      The metaKeyArg parameter is of type Boolean.
      The buttonArg parameter is of type Number.
      The relatedTargetArg parameter is a EventTarget object.
Prototype Object MutationEvent
  The MutationEvent class has the following constants:
    MutationEvent.MODIFICATION
      This constant is of type Number and its value is 1.
    MutationEvent.ADDITION
      This constant is of type Number and its value is 2.
    MutationEvent.REMOVAL
      This constant is of type Number and its value is 3.
Object MutationEvent
  MutationEvent has the all the properties and methods of the Event object as well as the properties and methods defined below.
  The MutationEvent object has the following properties:
    relatedNode
      This read-only property is a Node object.
    prevValue
      This read-only property is of type String.
    newValue
      This read-only property is of type String.
    attrName
      This read-only property is of type String.
    attrChange
      This read-only property is of type Number.
  The MutationEvent object has the following methods:
    initMutationEvent(typeArg, canBubbleArg, cancelableArg, relatedNodeArg, prevValueArg, newValueArg, attrNameArg, attrChangeArg)
      This method has no return value.
      The typeArg parameter is of type String.
      The canBubbleArg parameter is of type Boolean.
      The cancelableArg parameter is of type Boolean.
      The relatedNodeArg parameter is a Node object.
      The prevValueArg parameter is of type String.
      The newValueArg parameter is of type String.
      The attrNameArg parameter is of type String.
      The attrChangeArg parameter is of type Number.

The following example will add an ECMAScript based EventListener to the Node 'exampleNode':

      // Given the Node 'exampleNode'

      // Define the EventListener function
      function clickHandler(evt)
      {
        // Function contents
      }

      // The following line will add a non-capturing 'click' listener
      // to 'exampleNode'.
      exampleNode.addEventListener("click", clickHandler, false);