--- title: GlobalEventHandlers.onkeydown slug: Web/API/GlobalEventHandlers/onkeydown tags: - HTML DOM - Обробник подій - клавіатура - події клавіатури translation_of: Web/API/GlobalEventHandlers/onkeydown ---
Властивість onkeydown
спільно з GlobalEventHandlers
є EventHandler
обробляє події {{event("keydown")}}.
Подія keydown
спрацьовує, коли користувач натискає клавішу клавіатури.
target.onkeydown = functionRef;
functionRef
це ім'я функції або вираз функції. В якості єдиного аргументу функція отримує об'єкт {{domxref("KeyboardEvent")}}.
У цьому прикладі виводитимуться значення {{domxref("KeyboardEvent.code")}} щоразу, коли ви натискаете клавішу всередині елемента {{HtmlElement("input")}}.
<input> <p id="log"></p>
const input = document.querySelector('input'); const log = document.getElementById('log'); input.onkeydown = logKey; function logKey(e) { log.textContent += ` ${e.code}`; }
{{EmbedLiveSample("Example")}}
Specification | Status | Comment |
---|---|---|
{{SpecName('HTML WHATWG','webappapis.html#handler-onkeydown','onkeydown')}} | {{Spec2('HTML WHATWG')}} |
{{Compat("api.GlobalEventHandlers.onkeydown")}}
Так якб Firefox 65 події клавіатури і ключа тепер запускаються під час складання IME, для поліпшення крос-браузерної сумісності для користувачів CJKT (bug 354358, також більш детальну інформацію дивіться keydown and keyup події наразі запускаються під час складання IME. Щоб проігнорувати всі події keyup
, зробіть щось на зразок цього (229 це спеціальний набір значень для keyCode
що відноситься до читу, який був використаний IME):
eventTarget.addEventListener("keydown", event => {
if (event.isComposing || event.keyCode === 229) {
return;
}
// зробити що-небудь });