Obsługa zdarzeń (ang. *event handling*) to kluczowy mechanizm w JavaScript, który umożliwia reagowanie na interakcje użytkownika z stroną internetową. Dzięki zdarzeniom można wykonywać kod w odpowiedzi na różne działania, takie jak kliknięcia, przesuwanie myszy, naciskanie klawiszy czy ładowanie strony.
W JavaScript istnieje kilka sposobów na obsługę zdarzeń. Oto najważniejsze z nich:
addEventListener: Najbardziej elastyczny i zalecany sposób.addEventListeneraddEventListener
Metoda addEventListener jest najbardziej elastycznym sposobem obsługi zdarzeń. Pozwala na dodanie wielu funkcji obsługi do jednego zdarzenia oraz daje większą kontrolę nad zdarzeniami.
Podczas obsługi zdarzeń, funkcja obsługi (ang. *event handler*) otrzymuje obiekt zdarzenia (ang. *event object*), który zawiera informacje o zdarzeniu. Obiekt ten ma wiele przydatnych właściwości i metod.
type – typ zdarzenia (np. "click").target – element, na którym nastąpiło zdarzenie.currentTarget – element, na którym zarejestrowano funkcję obsługi.clientX, clientY – pozycja kursora myszy względem okna przeglądarki.
Czasami chcemy zapobiec domyślnemu zachowaniu przeglądarki, np. przeładowaniu strony po kliknięciu linku. Możemy to zrobić za pomocą metody preventDefault() obiektu zdarzenia.
Zdarzenia w DOM propagują się, czyli "bąbelkują" (ang. *bubbling*) od elementu docelowego do korzenia dokumentu. Można kontrolować tę propagację za pomocą metod stopPropagation() i stopImmediatePropagation().
Delegowanie zdarzeń (ang. *event delegation*) to technika, która polega na zarejestrowaniu funkcji obsługi zdarzenia na rodzicu wielu elementów, zamiast na każdym z nich osobno. Jest to szczególnie przydatne przy dynamicznie dodawanych elementach.
Obsługa zdarzeń ma wiele praktycznych zastosowań, takich jak:
Obsługa zdarzeń to kluczowy element tworzenia interaktywnych stron internetowych. Dzięki JavaScript możemy reagować na różne interakcje użytkownika, co pozwala na tworzenie bardziej zaawansowanych i przyjaznych dla użytkownika aplikacji.