UIEvent

The UIEvent interface represents simple user interface events.

UIEvent derives from Event. Although the UIEvent.initUIEvent() method is kept for backward compatibility, you should create a UIEvent object using the UIEvent() constructor.

Several interfaces are direct or indirect descendants of this one: MouseEvent, TouchEvent, FocusEvent, KeyboardEvent, WheelEvent, InputEvent, and CompositionEvent.

Constructors

UIEvent()
Creates a UIEvent object.

Properties

This interface also inherits properties of its parent, Event.

UIEvent.cancelBubble
Is a Boolean indicating whether the bubbling of the event has been canceled or not.
UIEvent.detailRead only
Returns a long with details about the event, depending on the event type.
UIEvent.isChar Read only
Returns a Boolean indicating whether the event produced a key character or not.
UIEvent.layerX Read only
Returns the horizontal coordinate of the event relative to the current layer.
UIEvent.layerY Read only
Returns the vertical coordinate of the event relative to the current layer.
UIEvent.pageX Read only
Returns the horizontal coordinate of the event relative to the whole document.
UIEvent.pageY Read only
Returns the vertical coordinate of the event relative to the whole document.
UIEvent.sourceCapabilities Read only
Returns an instance of the InputDeviceCapabilities interface, which provides information about the physical device responsible for generating a touch event.
UIEvent.viewRead only
Returns a WindowProxy that contains the view that generated the event.
UIEvent.which Read only
Returns the numeric keyCode of the key pressed, or the character code (charCode) for an alphanumeric key pressed.

Methods

This interface also inherits methods of its parent, Event.

UIEvent.initUIEvent()
Initializes a UIEvent object. If the event has already being dispatched, this method does nothing.

Specifications

Specification Status Comment
InputDeviceCapabilities Draft Added sourceCapabilities property.
UI Events Working Draft Extend DOM3
Document Object Model (DOM) Level 3 Events Specification
The definition of 'UIEvent' in that specification.
Obsolete Added the UIEvent() constructor, deprecated the initUIEvent() method and changed the type of view from AbstractView to WindowProxy.
Document Object Model (DOM) Level 2 Events Specification
The definition of 'UIEvent' in that specification.
Obsolete Initial definition

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
UIEventChrome Full support YesEdge Full support 12Firefox Full support YesIE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
UIEvent() constructorChrome Full support YesEdge Full support ≤18Firefox Full support 11IE ? Opera Full support YesSafari ? WebView Android Full support YesChrome Android Full support YesFirefox Android Full support 14Opera Android Full support YesSafari iOS ? Samsung Internet Android Full support Yes
cancelBubble
DeprecatedNon-standard
Chrome Full support YesEdge Full support 12Firefox Full support YesIE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
detailChrome Full support YesEdge Full support 12Firefox Full support YesIE Partial support 9
Notes
Partial support 9
Notes
Notes Always 0 on click and dblclick events. On mousedown and mouseup events, the count is not unique to the element, but is rather the global click count for the current document -- even across refreshes.
Opera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
initUIEvent
DeprecatedNon-standard
Chrome Full support YesEdge Full support 12Firefox Full support YesIE ? Opera Full support YesSafari ? WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS ? Samsung Internet Android Full support Yes
isChar
DeprecatedNon-standard
Chrome No support NoEdge No support NoFirefox No support ? — 55
Notes
No support ? — 55
Notes
Notes The isChar property has never been supported by any browser but Firefox, and even on Firefox it's never worked except on Mac OSX. For that reason, it's been removed in Firefox 55 to align with other browsers.
IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support ? — 55
Notes
No support ? — 55
Notes
Notes The isChar property has never been supported by any browser but Firefox, and even on Firefox it's never worked except on Mac OSX. For that reason, it's been removed in Firefox 55 to align with other browsers.
Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
layerX
Non-standard
Chrome Full support YesEdge Full support 12Firefox Full support YesIE Full support 9Opera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
layerY
Non-standard
Chrome Full support YesEdge Full support 12Firefox Full support YesIE Full support 9Opera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
pageX
DeprecatedNon-standard
Chrome No support ? — 44
Notes
No support ? — 44
Notes
Notes Replaced by MouseEvent.pageX in version 45.
Edge Full support 12Firefox ? IE Full support 9Opera ? Safari ? WebView Android No support ? — 44
Notes
No support ? — 44
Notes
Notes Replaced by MouseEvent.pageX in version 45.
Chrome Android No support ? — 44
Notes
No support ? — 44
Notes
Notes Replaced by MouseEvent.pageX in version 45.
Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android No support ? — 4.0
Notes
No support ? — 4.0
Notes
Notes Replaced by MouseEvent.pageX in Samsung Internet 5.0.
pageY
DeprecatedNon-standard
Chrome No support ? — 44
Notes
No support ? — 44
Notes
Notes Replaced by MouseEvent.pageY in version 45.
Edge Full support 12Firefox ? IE Full support 9Opera ? Safari ? WebView Android No support ? — 44
Notes
No support ? — 44
Notes
Notes Replaced by MouseEvent.pageY in version 45.
Chrome Android No support ? — 44
Notes
No support ? — 44
Notes
Notes Replaced by MouseEvent.pageY in version 45.
Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android No support ? — 4.0
Notes
No support ? — 4.0
Notes
Notes Replaced by MouseEvent.pageY in Samsung Internet 5.0.
sourceCapabilities
Experimental
Chrome Full support 47Edge Full support ≤79Firefox ? IE ? Opera Full support YesSafari ? WebView Android Full support 47Chrome Android Full support 47Firefox Android ? Opera Android Full support YesSafari iOS ? Samsung Internet Android Full support 5.0
viewChrome Full support YesEdge Full support 12Firefox Full support YesIE Full support 9Opera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
whichChrome Full support YesEdge Full support ≤79Firefox Full support YesIE ? Opera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes

Legend

Full support
Full support
Partial support
Partial support
No support
No support
Compatibility unknown
Compatibility unknown
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.
Non-standard. Expect poor cross-browser support.
Non-standard. Expect poor cross-browser support.
Deprecated. Not for use in new websites.
Deprecated. Not for use in new websites.
See implementation notes.
See implementation notes.

See also