KeyboardEvent: KeyboardEvent() constructor

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

The KeyboardEvent() constructor creates a new KeyboardEvent object.

Syntax

js
new KeyboardEvent(type)
new KeyboardEvent(type, options)

Parameters

type

A string with the name of the event. It is case-sensitive and browsers set it to keydown, keyup, or keypress.

options Optional

An object that, in addition of the properties defined in UIEvent(), can have the following properties:

key Optional

A string, defaulting to "", that sets the value of KeyboardEvent.key.

code Optional

A string, defaulting to "", that sets the value of KeyboardEvent.code.

location Optional

A number, defaulting to 0, that sets the value of KeyboardEvent.location.

repeat Optional

A boolean value, defaulting to false, that sets the value of KeyboardEvent.repeat.

isComposing Optional

A boolean value, defaulting to false, that sets the value of KeyboardEvent.isComposing.

charCode Optional

A number, defaulting to 0, that sets the value of the deprecated KeyboardEvent.charCode.

keyCode Optional

A number, defaulting to 0, that sets the value of the deprecated KeyboardEvent.keyCode.

which Optional

A number, defaulting to 0, that sets the value of the deprecated UIEvent.which.

ctrlKey Optional

A boolean value, defaulting to false, that sets the value of KeyboardEvent.ctrlKey.

shiftKey Optional

A boolean value, defaulting to false, that sets the value of KeyboardEvent.shiftKey.

altKey Optional

A boolean value, defaulting to false, that sets the value of KeyboardEvent.altKey.

metaKey Optional

A boolean value, defaulting to false, that sets the value of KeyboardEvent.metaKey.

Return value

A new KeyboardEvent object.

Specifications

Specification
UI Events
# dom-keyboardevent-keyboardevent

Browser compatibility

desktop mobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
KeyboardEvent() constructor
Chrome – Full support
Chrome 26 (Release date: 2013-03-26)
footnote Full support
Edge – Full support
Edge 12 (Release date: 2015-07-29)
footnote Full support
Firefox – Full support
Firefox 31 (Release date: 2014-07-22)
footnote Full support
Opera – Full support
Opera 15 (Release date: 2013-07-02)
footnote Full support
Safari – Full support
Safari 7 (Release date: 2013-10-22)
footnote Full support
Chrome Android – Full support
Chrome Android 26 (Release date: 2013-04-03)
footnote Full support
Firefox for Android – Full support
Firefox for Android 31 (Release date: 2014-07-22)
footnote Full support
Opera Android – Full support
Opera Android 14 (Release date: 2013-05-21)
footnote Full support
Safari on iOS – Full support
Safari on iOS 7 (Release date: 2013-09-18)
footnote Full support
Samsung Internet – Full support
Samsung Internet 1.5 (Release date: 2013-09-25)
footnote Full support
WebView Android – Full support
WebView Android 4.4 (Release date: 2013-12-09)
footnote Full support
WebView on iOS – Full support
WebView on iOS 7 (Release date: 2013-09-18)
footnote Full support

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

See also