Numerous clarifications to the interfaces and event types have been made. The HTMLEvents module is no longer defined in this document. The event types focus and blur have been added to the UIEvents module, the event type dblclick has been added to the MouseEvents module. This new specification provides a better separation between the DOM event flow, the event types, and the DOM interfaces.
This new specification introduced one new concept in the event flow:
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.
EventEvent interface has two new attributes Event.namespaceURI and Event.defaultPrevented, and two new methods: Event.stopImmediatePropagation(), Event.initEventNS().Event.timeStamp is now a Number in the ECMAScript binding; a proposed correction to make the same change in [DOM Level 3 Core] is forthcoming.Event.type attribute to be case-sensitive, while DOM Level 2 Events considers Event.type to be case-insensitive.EventTargetEventTarget interface has two new methods: EventTarget.addEventListenerNS() and EventTarget.removeEventListenerNS(). The method EventTarget.dispatchEvent() was modified.DocumentEventDocumentEvent interface has one new method: DocumentEvent.canDispatch().UIEventUIEvent interface has a new method UIEvent.initUIEventNS().MouseEventMouseEvent interface has two new methods MouseEvent.getModifierState() and MouseEvent.initMouseEventNS().MutationEventMutationEvent interface has a new method MutationEvent.initMutationEventNS().EventExceptionDISPATCH_REQUEST_ERR constant has been added.The interfaces CustomEvent, TextEvent, KeyboardEvent, MutationNameEvent, MouseMultiWheelEvent, and MouseWheelEvent were added to the Events module.