Strona główna › Pytania INF.03 › Pytanie 599
INF.03 · pytanie #599
Zdarzenie JavaScript <i>onmousedown</i> występuje, gdy
- Azostał naciśnięty dwa razy klawisz myszy komputerowej.
- Bwskaźnik myszy komputerowej znalazł się w obrębie obiektu.
- Cwskaźnik myszy komputerowej wyszedł poza obręb obiektu.
- Dzostał wciśnięty dowolny klawisz myszy komputerowej na danym elemencie.
Poprawna odpowiedź: D. został wciśnięty dowolny klawisz myszy komputerowej na danym elemencie.
Kliknij odpowiedź, którą uważasz za poprawną.
Wyjaśnienie
Poprawnie – zdarzenie onmousedown w JavaScript wywołuje się dokładnie w momencie, gdy użytkownik naciska dowolny klawisz myszy na danym elemencie. Nie ma znaczenia, czy to jest lewy, prawy czy środkowy przycisk, samo fizyczne wciśnięcie przycisku nad elementem powoduje uruchomienie tego eventu. Z punktu widzenia przeglądarki jest to bardzo wczesny etap interakcji myszą: najpierw pojawia się onmousedown, później ewentualnie onmouseup, a dopiero z kombinacji tych dwóch czasem wynika onclick. Moim zdaniem warto to sobie dobrze poukładać, bo w praktyce front-endowca to jedna z podstawowych rzeczy przy obsłudze interfejsu. onmousedown jest używany wszędzie tam, gdzie chcesz zareagować natychmiast po naciśnięciu przycisku, a nie dopiero po jego puszczeniu. Klasyczny przykład to przeciąganie elementów (drag and drop): w onmousedown zapamiętujesz, że użytkownik „złapał” element, podpinasz nasłuch na mousemove, a w mouseup kończysz przeciąganie. Innym typowym zastosowaniem są własne przyciski i kontrolki, gdzie chcesz np. zmienić styl od razu po wciśnięciu (wrażenie wciśniętego guzika), albo rozpocząć jakąś akcję ciągłą, np. przytrzymanie przycisku powoduje powiększanie mapy czy przewijanie listy. W nowoczesnym JavaScript raczej używa się addEventListener("mousedown", handler) zamiast atrybutu onmousedown w HTML, bo to zgodne z dobrymi praktykami separacji logiki od struktury (HTML + JS osobno). Sam event obiektu MouseEvent przekazuje też szczegóły, np. który przycisk został naciśnięty (właściwość button), pozycję kursora, stan klawiszy modyfikujących itd. Dobrze wiedzieć, że onmousedown nie jest powiązany z wyjściem kursora poza element ani z podwójnym kliknięciem – od tego są inne zdarzenia, co często myli początkujących.
🤖 Wyjaśnienie generowane przez AI – weryfikuj w oficjalnych źródłach.