KWALIFIKACJA INF3 - STYCZEŃ 2019

PYTANIE NR 37.
W JavaScript wywołanie zdarzenia onKeydown nastąpi wtedy, gdy klawisz
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
onKeydown (czyli zdarzenie keydown) dotyczy klawiatury i uruchamia się w chwili naciśnięcia klawisza. Odpowiedzi o "myszce" dotyczą innej grupy zdarzeń, a wariant "klawiatury został zwolniony" odpowiada raczej zdarzeniu keyup.

Pełne wyjaśnienie:

Zdarzenie keydown (często spotykane też jako atrybut HTML onkeydown) jest zdarzeniem klawiatury. Występuje w momencie, gdy użytkownik naciśnie klawisz (faza "wciśnięcia"), dlatego poprawne jest stwierdzenie: "klawiatury został naciśnięty."

Odpowiedzi mówiące o myszce są niepoprawne, ponieważ mysz ma własne zdarzenia, takie jak mousedown (wciśnięcie przycisku myszy) i mouseup (zwolnienie przycisku myszy). Są to inne urządzenia wejścia i inne typy zdarzeń niż zdarzenia klawiatury.

Wariant "klawiatury został zwolniony." również nie pasuje do keydown, bo "zwolnienie" klawisza odpowiada typowo zdarzeniu keyup (faza puszczenia klawisza). To częsta pułapka: nazwy zdarzeń różnią się tylko końcówką down/up, a sens w praktyce jest analogiczny do wciśnięcia/zwolnienia.

Wskazówka egzaminacyjna: jeśli widzisz w nazwie "key", myśl "klawiatura", a jeśli "mouse", myśl "mysz". Następnie sprawdź, czy chodzi o naciśnięcie (down) czy zwolnienie (up). We współczesnym kodzie zwykle używa się addEventListener('keydown', ...), ale znaczenie samego zdarzenia pozostaje takie samo.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
keydown to zdarzenie klawiatury wywoływane, gdy użytkownik naciśnie klawisz. Najczęściej stosuje się je do obsługi skrótów klawiszowych, reagowania na Enter/Escape lub sterowania aplikacją bez myszy.
keydown występuje przy wciśnięciu klawisza, a keyup przy jego zwolnieniu. To rozróżnienie jest ważne np. w grach (ciągłe trzymanie klawisza) oraz w logice formularzy i nawigacji.
Dotyczą tego samego typu zdarzenia klawiatury. onkeydown to sposób przypięcia obsługi (np. jako właściwość/atrybut), a keydown to nazwa zdarzenia używana m.in. w addEventListener.
Najczęściej używa się addEventListener, np. podpinając nasłuch do elementu lub dokumentu. To podejście jest czytelniejsze i pozwala dodawać wiele handlerów bez nadpisywania poprzednich.
Nazwa wskazuje źródło zdarzenia: key oznacza klawiaturę. Mysz ma własne zdarzenia, np. mousedown i mouseup. Na egzaminie trzeba umieć rozdzielić te dwie grupy i ich znaczenie.
keyup bywa lepsze, gdy chcesz reagować dopiero po zakończeniu akcji użytkownika, np. po puszczeniu klawisza. Pomaga też unikać wielokrotnego wywołania logiki przy długim przytrzymaniu klawisza.
W praktyce przeglądarki mogą wywoływać kolejne zdarzenia podczas auto-powtarzania (gdy klawisz jest przytrzymany). W zadaniach egzaminacyjnych zwykle przyjmuje się podstawową interpretację: keydown oznacza moment naciśnięcia.
Zwróć uwagę na końcówkę: down kojarz z wciśnięciem, a up ze zwolnieniem. To prosty trik pamięciowy, który ogranicza pomyłki między keydown/keyup.
Handler keydown dostaje zwykle obiekt KeyboardEvent, z którego można odczytać np. jaki klawisz wciśnięto (np. właściwość key) oraz czy użyto modyfikatorów (Shift/Ctrl/Alt). To podstawa do skrótów.
Częste błędy to: mylenie keydown z keyup, traktowanie zdarzeń myszy jako klawiaturowych, oraz podpinanie obsługi w złym miejscu (np. do elementu, który nie ma fokusu). Na egzaminie czytaj dokładnie nazwy.
info

Około 78% zdających odpowiada poprawnie na to pytanie. średnio łatwe

Eksperci podkreślają: "onKeydown (czyli zdarzenie keydown) dotyczy klawiatury i uruchamia się w chwili naciśnięcia klawisza."

Źródła:

  • MDN Web Docs: "Element: keydown event" (opis zdarzenia keydown), https://developer.mozilla.org/en-US/docs/Web/API/Element/keydown_event - dostęp 2026-03-01
  • MDN Web Docs: "GlobalEventHandlers.onkeydown" (właściwość onkeydown), https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onkeydown - dostęp 2026-03-01
  • W3C: "UI Events" (specyfikacja zdarzeń klawiatury, definicje keydown/keyup), https://www.w3.org/TR/uievents/ - dostęp 2026-03-01

Materiały:

  • Dokumentacja MDN: KeyboardEvent i zdarzenie keydown
  • Ćwiczenia: obsługa zdarzeń przez addEventListener dla elementów formularza
  • Specyfikacja UI Events (opis zdarzeń klawiatury w DOM)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego