====== Event Handler ======
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.
===== Jak funguje =====
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
===== Typické události =====
Event handlery mohou reagovat na různé typy událostí:
==== Události myši ====
click
dblclick
mouseover
mouseout
mousedown
mouseup
==== Události klávesnice ====
keydown
keyup
keypress
==== Formulářové události ====
change
input
submit
focus
blur
==== Systémové události ====
load
resize
scroll
unload
===== Příklad v JavaScriptu =====
Nejjednodušší event handler:
function pozdrav() { alert("Ahoj!"); }
Přiřazení k tlačítku:
Po kliknutí na tlačítko se spustí funkce ''pozdrav()''.
===== Moderní způsob registrace =====
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.
===== Parametr Event =====
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.
===== Použití v praxi =====
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í.
===== Výhody =====
Jednoduchá reakce na události.
Interaktivní chování aplikace.
Přehledné oddělení logiky od uživatelského rozhraní.
Podpora asynchronního programování.
===== Nevýhody =====
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í.
===== Související pojmy =====
[[event]]
[[event listener]]
[[event loop]]
[[callback]]
[[javascript]]
[[event-driven programming]]
[[dom]]
[[on click]]
[[on toggle]]
===== Shrnutí =====
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í.