Zdarzenie onkeydown w JavaScript

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

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.