The onkeydown
property of the GlobalEventHandlers
mixin is an EventHandler
that processes keydown
events.
The keydown
event fires when the user presses a keyboard key.
Syntax
target.onkeydown = functionRef;
Value
functionRef
is a function name or a function expression. The function receives a KeyboardEvent
object as its sole argument.
Example
This example logs the KeyboardEvent.code
value whenever you press down a key inside the <input>
element.
HTML
<input>
<p id="log"></p>
JavaScript
const input = document.querySelector('input');
const log = document.getElementById('log');
input.onkeydown = logKey;
function logKey(e) {
log.textContent += ` ${e.code}`;
}
Result
Specifications
Specification | Status | Comment |
---|---|---|
HTML Living StandardThe definition of 'onkeydown' in that specification. | Living Standard |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
onkeydown
|
Chrome
Full support Yes |
Edge
Full support ≤18 |
Firefox
Full support Yes |
IE
? |
Opera
? |
Safari
? |
WebView Android
Full support Yes |
Chrome Android
Full support Yes |
Firefox Android
Full support Yes |
Opera Android
? |
Safari iOS
? |
Samsung Internet Android
Full support Yes |
Legend
- Full support
- Full support
- Compatibility unknown
- Compatibility unknown
Compatibility notes
Since Firefox 65, the keyup
and keydown
events are now fired during IME composition, to improve cross-browser compatibility for CJKT users (bug 354358, also see keydown and keyup events are now fired during IME composition for more useful details). To ignore all keydown
events that are part of composition, do something like this (229 is a special value set for a keyCode
relating to an event that has been processed by an IME):
eventTarget.addEventListener("keydown", event => {
if (event.isComposing || event.keyCode === 229) {
return;
}
// do something
});
See also
keydown
event- Related event handlers
GlobalEventHandlers.onkeydown by Mozilla Contributors is licensed under CC-BY-SA 2.5.