--- title: UIEvent slug: Web/API/UIEvent tags: - API translation_of: Web/API/UIEvent --- <p>{{APIRef("DOM Events")}}</p> <p>The <strong><code>UIEvent</code></strong> interface represents simple user interface events.</p> <p><code>UIEvent</code> derives from {{domxref("Event")}}. Though the {{domxref("UIEvent.initUIEvent()")}} method is kept for backward compatibility, creating of a <code>UIEvent</code> object should be done using the {{domxref("UIEvent.UIEvent", "UIEvent()")}} constructor.</p> <p>Several interfaces are direct or indirect descendants of this one: {{domxref("MouseEvent")}}, {{domxref("FocusEvent")}}, {{domxref("KeyboardEvent")}}, {{domxref("WheelEvent")}}, {{domxref("InputEvent")}}, and {{domxref("CompositionEvent")}}.</p> <h2 id="Constructors">Constructors</h2> <dl> <dt>{{domxref("UIEvent.UIEvent()", "UIEvent()")}}</dt> <dd>Creates a <code>UIEvent</code> object.</dd> </dl> <h2 id="Properties">Properties</h2> <p><em>This interface also inherits properties of its parent, {{domxref("Event")}}.</em></p> <dl> <dt>{{domxref("UIEvent.cancelBubble")}} {{Deprecated_inline}}{{Non-standard_inline}}</dt> <dd>Is a {{jsxref("Boolean")}} indicating whether the bubbling of the event has been canceled or not.</dd> </dl> <dl> <dt>{{domxref("UIEvent.detail")}}{{readonlyinline}}</dt> <dd>Returns a <code>long</code> that gives some detail about the event, depending on the type of event.</dd> <dt>{{domxref("UIEvent.isChar")}} {{Non-standard_inline}} {{readonlyinline}}</dt> <dd>Returns a {{jsxref("Boolean")}} indicating whether the event produced a key character or not.</dd> <dt>{{domxref("UIEvent.layerX")}} {{Non-standard_inline}} {{readonlyinline}}</dt> <dd>Returns the horizontal coordinate of the event relative to the current layer.</dd> <dt>{{domxref("UIEvent.layerY")}} {{Non-standard_inline}} {{readonlyinline}}</dt> <dd>Returns the vertical coordinate of the event relative to the current layer.</dd> <dt>{{domxref("UIEvent.pageX")}} {{Non-standard_inline}} {{readonlyinline}}</dt> <dd>Returns the horizontal coordinate of the event relative to the whole document.</dd> <dt>{{domxref("UIEvent.pageY")}} {{Non-standard_inline}} {{readonlyinline}}</dt> <dd>Returns the vertical coordinate of the event relative to the whole document.</dd> <dt>{{domxref("UIEvent.view")}}{{readonlyinline}}</dt> <dd>Returns a {{domxref("WindowProxy")}} that contains the view that generated the event.</dd> <dt>{{domxref("UIEvent.which")}} {{Non-standard_inline}} {{readonlyinline}}</dt> <dd>Returns the numeric <code>keyCode</code> of the key pressed, or the character code (<code>charCode</code>) for an alphanumeric key pressed.</dd> </dl> <h2 id="Methods">Methods</h2> <p><em>This interface also inherits methods of its parent, {{domxref("Event")}}.</em></p> <dl> <dt>{{domxref("UIEvent.initUIEvent()")}} {{deprecated_inline}}</dt> <dd>Initializes a <code>UIEvent</code> object. If the event has already being dispatched, this method does nothing.</dd> </dl> <h2 id="Specifications">Specifications</h2> <table class="standard-table"> <tbody> <tr> <th scope="col">Specification</th> <th scope="col">Status</th> <th scope="col">Comment</th> </tr> <tr> <td>{{SpecName('DOM3 Events', '#interface-UIEvent', 'UIEvent')}}</td> <td>{{Spec2('DOM3 Events')}}</td> <td>From {{SpecName('DOM2 Events')}}: <ul> <li>added the <code>UIEvent()</code> constructor,</li> <li>deprecated the <code>initUIEvent()</code> method,</li> <li>and changed the type of <code>view</code> from <code>AbstractView</code> to <code>WindowProxy</code>.</li> </ul> </td> </tr> <tr> <td>{{SpecName('DOM2 Events', '#Events-UIEvent', 'UIEvent')}}</td> <td>{{Spec2('DOM2 Events')}}</td> <td>Initial definition.</td> </tr> </tbody> </table> <h2 id="Browser_compatibility" name="Browser_compatibility">Browser compatibility</h2> <p>{{ CompatibilityTable() }}</p> <div id="compat-desktop"> <table class="compat-table"> <tbody> <tr> <th>Feature</th> <th>Chrome</th> <th>Firefox (Gecko)</th> <th>Internet Explorer</th> <th>Opera</th> <th>Safari</th> </tr> <tr> <td>Basic support</td> <td>{{ CompatVersionUnknown() }}</td> <td>{{ CompatVersionUnknown() }}</td> <td>{{ CompatUnknown() }}</td> <td>{{ CompatVersionUnknown() }}</td> <td>{{ CompatUnknown() }}</td> </tr> <tr> <td><code>UIEvent()</code></td> <td>{{ CompatVersionUnknown() }}</td> <td>{{ CompatGeckoDesktop(11)}}</td> <td>{{ CompatUnknown() }}</td> <td>{{ CompatVersionUnknown() }}</td> <td>{{ CompatUnknown() }}</td> </tr> </tbody> </table> </div> <div id="compat-mobile"> <table class="compat-table"> <tbody> <tr> <th>Feature</th> <th>Android</th> <th>Firefox Mobile (Gecko)</th> <th>IE Mobile</th> <th>Opera Mobile</th> <th>Safari Mobile</th> </tr> <tr> <td>Basic support</td> <td>{{ CompatVersionUnknown() }}</td> <td>{{ CompatVersionUnknown() }}</td> <td>{{ CompatUnknown() }}</td> <td>{{ CompatVersionUnknown() }}</td> <td>{{ CompatUnknown() }}</td> </tr> <tr> <td><code>UIEvent()</code></td> <td>{{ CompatVersionUnknown() }}</td> <td>{{ CompatGeckoMobile(11)}}</td> <td>{{ CompatUnknown() }}</td> <td>{{ CompatVersionUnknown() }}</td> <td>{{ CompatUnknown() }}</td> </tr> </tbody> </table> </div> <h2 class="editable" id="See_also"><span>See also</span></h2> <ul> <li>{{ domxref("Event") }}</li> </ul>