This new specification provides a better separation between the DOM event flow, the event types, and the DOM interfaces.
This new specification introduced two new concepts in the event flow:
Event.stopPropagation()
does no longer stop the event
propagation entirely. It only stops it for a given event
group.
Lots of clarifications have been made on the event types. The
conformance is now explicitly defined against the event types,
and not only in terms of interfaces required by the event
types. Support for namespaces and the features
"BasicEvents"
, "TextEvents"
,
"KeyboardEvents"
, and
"MutationNameEvents"
have been introduced.
The DOM Level 2 Event load
event type can now be
dispatched to more [HTML 4.01]
elements. blur
and focus
have been
clarified and restricted to [HTML 4.01] applications
only.
Event
Event
interface has a new attribute
Event.namespaceURI
, and a four new methods:
Event.isCustom()
,
Event.stopImmediatePropagation()
,
Event.isDefaultPrevented()
, and
Event.initEventNS
.
EventTarget
EventTarget
interface has four new
methods:
EventTarget.addEventListenerNS(namespaceURI, type,
listener, useCapture, evtGroup)
,
EventTarget.removeEventListenerNS(namespaceURI,
type, listener, useCapture)
,
EventTarget.willTriggerNS(namespaceURI,
type)
,
EventTarget.hasEventListenerNS(namespaceURI,
type)
. The method
EventTarget.dispatchEvent(evt)
was modified.
DocumentEvent
DocumentEvent
interface has one new
method: DocumentEvent.canDispatch(namespaceURI,
type)
.
UIEvent
UIEvent
interface has a new method
UIEvent.initUIEventNS(...)
.
MouseEvent
MouseEvent
interface has two new methods
MouseEvent.getModifierState(keyIdentifierArg)
and MouseEvent.initMouseEventNS(...)
.
MutationEvent
MutationEvent
interface has a new method
MutationEvent.initMutationEventNS(...)
.
EventException
DISPATCH_REQUEST_ERR
constant has been
added.
The interfaces CustomEvent
, TextEvent
,
KeyboardEvent
, and MutationNameEvent
were added to the Events module.