The keydown
event is fired when a key is pressed down. Unlike the keypress
event, the keydown
event is fired for keys that produce a character value and for keys that do not produce a character value.
keypress
event; launch text composition system; blur
and focus
events; DOMActivate
event; other eventProperty | Type | Description |
---|---|---|
target Read only
| EventTarget | The event target (the topmost target in the DOM tree). |
type Read only
| DOMString | The type of event. |
bubbles Read only
| Boolean | Whether the event normally bubbles or not. |
cancelable Read only
| Boolean | Whether the event is cancelable or not. |
view Read only
| WindowProxy |
document.defaultView (window of the document). |
detail Read only
|
long (float ) | 0. |
target Read only
| EventTarget (DOM element) | Focused element processing the key event; root element if no suitable input element focused. |
char Read only
| DOMString (string) | The character value of the key. If the key corresponds to a printable character, this value is a non-empty Unicode string containing that character. If the key doesn't have a printable representation, this is an empty string. See key names and char values for the detail.
Note: If the key is used as a macro that inserts multiple characters, this attribute's value is the entire string, not just the first character. |
key Read only
| DOMString (string) | The key value of the key represented by the event. If the value has a printed representation, this attribute's value is the same as the char attribute. Otherwise, it's one of the key value strings specified in Key Values. If the key can't be identified, this is the string "Unidentified." See key names and char values for the detail (read only). |
code Read only
| DOMString (string) | Holds a string that identifies the physical key being pressed. The value is not affected by the current keyboard layout or modifier state, so a particular key will always return the same value. |
charCode Read only
| Unsigned long (int) | The Unicode reference number of the key; this attribute is used only by the keypress event. For keys whose char attribute contains multiple characters, this is the Unicode value of the first character in that attribute.
Warning: This attribute is deprecated; you should use char instead, if available. |
keyCode Read only
| Unsigned long (int) | A system and implementation-dependent numerical code identifying the unmodified value of the pressed key. This is usually the decimal ASCII (RFC 20) or Windows 1252 code corresponding to the key; see Virtual key codes for a list of common values. If the key can't be identified, this value is 0.
Warning: This attribute is deprecated; you should use key instead, if available. |
which Read only
| Unsigned long (int) | A system and implementation-dependent numeric code identifying the unmodified value of the pressed key; this is usually the same as keyCode .
Warning: This attribute is deprecated; you should use key instead, if available. |
location Read only
| long (float) | The location of the key on the device. |
repeat Read only
| boolean |
true if a key has been depressed long enough to trigger key repetition; otherwise, false . |
locale Read only
| string | The language code for the key event, if available; otherwise, the empty string. |
ctrlKey Read only
| boolean |
true if the control key was down when the event was fired. false otherwise. |
shiftKey Read only
| boolean |
true if the shift key was down when the event was fired. false otherwise. |
altKey Read only
| boolean |
true if the alt key was down when the event was fired. false otherwise. |
metaKey Read only
| boolean |
true if the meta key was down when the event was fired. false otherwise. |
preventDefault()
of keydown
eventStarting with Gecko 25, a call of preventDefault()
of keydown
event prevents to dispatch following keypress
event. This is valid behavior for D3E spec, and the other major web browsers behave this way. On the other hand, Gecko 24 or earlier dispatched keypress
event even if preventDefault()
of preceding keydown
event is called—although the keypress
event's defaultPrevented
attribute was true
in this case.
<!DOCTYPE html> <html> <head> <script> 'use strict'; document.addEventListener('keydown', (event) => { const keyName = event.key; alert('keydown event\n\n' + 'key: ' + keyName); }); </script> </head> <body> </body> </html>
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/Events/keydown