Event Handler (česky obsluha události) je funkce, metoda nebo blok kódu, který se automaticky spustí při vzniku určité události (eventu). Event handlery jsou základním prvkem event-driven programming a používají se ve webových, desktopových i mobilních aplikacích.
Když nastane určitá událost, systém vyhledá odpovídající event handler a spustí jej.
Příklad:
Kliknutí na tlačítko ↓ Vznik události "click" ↓ Spuštění Event Handleru ↓ Provedení akce
Event handlery mohou reagovat na různé typy událostí:
click dblclick mouseover mouseout mousedown mouseup
keydown keyup keypress
change input submit focus blur
load resize scroll unload
Nejjednodušší event handler:
function pozdrav() { alert("Ahoj!"); }
Přiřazení k tlačítku:
<button onclick="pozdrav()"> Klikni na mě </button>
Po kliknutí na tlačítko se spustí funkce pozdrav().
V moderním JavaScriptu se používá metoda addEventListener():
const button = document.getElementById("myButton"); button.addEventListener("click", function() { alert("Tlačítko bylo stisknuto."); });
Tento způsob umožňuje připojit více handlerů ke stejné události.
Event handler často přijímá objekt event, který obsahuje informace o vzniklé události.
button.addEventListener("click", function(event) { console.log(event.type); });
Výstup:
click
Objekt může obsahovat například:
typ události, cílový prvek, pozici kurzoru, stisknutou klávesu, čas vzniku události.
Event handlery se používají například pro:
reakci na kliknutí uživatele, validaci formulářů, zobrazení dialogových oken, načítání dat bez obnovení stránky, ovládání multimédií, vytváření interaktivních uživatelských rozhraní.
Jednoduchá reakce na události. Interaktivní chování aplikace. Přehledné oddělení logiky od uživatelského rozhraní. Podpora asynchronního programování.
Při větším množství handlerů může být kód nepřehledný. Nesprávná správa událostí může vést k únikům paměti. Obtížnější ladění složitých aplikací.
Event Handler je funkce nebo metoda, která reaguje na vznik určité události. Po vyvolání události, například kliknutí myší nebo stisknutí klávesy, se automaticky spustí definovaný kód. Event handlery jsou základním stavebním kamenem moderních interaktivních aplikací a webových rozhraní.