Zdarzenie onkeydown w JavaScript
onkeydown to zdarzenie JavaScript uruchamiane w momencie, gdy użytkownik naciśnie klawisz na klawiaturze. Jest często używane przy obsłudze pól formularzy, np. pól tekstowych <input> lub <textarea>.
W pytaniach egzaminacyjnych onkeydown należy kojarzyć z reakcją na wpisywanie znaków lub naciskanie klawiszy.
Kiedy działa onkeydown?
Zdarzenie zostaje wywołane, gdy klawisz zostanie wciśnięty, czyli jeszcze przed jego zwolnieniem. Może reagować nie tylko na litery i cyfry, ale także na klawisze specjalne, np. Enter, Backspace, Shift, strzałki.
Przykład użycia w HTML
<input type="text" onkeydown="pokazKomunikat()">
<script>
function pokazKomunikat() {
console.log("Naciśnięto klawisz w polu tekstowym");
}
</script>
W tym przykładzie funkcja pokazKomunikat() zostanie uruchomiona za każdym razem, gdy użytkownik naciśnie dowolny klawisz w polu tekstowym.
Przykład z addEventListener
<input type="text" id="imie">
<script>
document.getElementById("imie").addEventListener("keydown", function(event) {
console.log("Naciśnięty klawisz: " + event.key);
});
</script>
W nowoczesnym JavaScript częściej stosuje się addEventListener("keydown", ...) zamiast atrybutu HTML onkeydown.
Różnica względem podobnych zdarzeń
onkeydown— działa po naciśnięciu klawisza,onkeyup— działa po puszczeniu klawisza,onclick— działa po kliknięciu myszą,onload— działa po załadowaniu strony lub elementu,onmouseout— działa po opuszczeniu elementu kursorem myszy.
Zapamiętaj na egzamin
Jeśli pytanie dotyczy aktywowania funkcji przy wprowadzaniu znaków z klawiatury w polu tekstowym, właściwą odpowiedzią jest najczęściej onkeydown.