Výukový program JS

JS HOME Úvod do JS JS Kam vést Výstup JS JS prohlášení Syntaxe JS Komentáře JS JS proměnné JS Let JS Const Operátoři JS JS aritmetika Zadání JS JS datové typy Funkce JS JS objekty Události JS JS struny JS String Methods JS String Search Šablony řetězců JS JS čísla Metody čísel JS JS Arrays Metody JS Array JS Array Sort Iterace pole JS JS Array Const JS Termíny Formáty data JS JS metody získávání data JS metody nastavení data JS Math JS Náhodný JS Booleans JS Srovnání Podmínky JS Přepínač JS JS Loop For JS Loop For In JS Loop For Of Zatímco JS Loop JS Break JS Iterables Sady JS Mapy JS Typ JS Konverze typu JS JS Bitwise JS RegExp Chyby JS Rozsah JS JS Zvedací zařízení Přísný režim JS JS toto klíčové slovo Funkce šipky JS JS třídy JS JSON Ladění JS Průvodce stylem JS JS Best Practices Chyby JS Výkon JS JS Reserved Words

Verze JS

Verze JS JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Edge Historie JS

JS objekty

Definice objektů Vlastnosti objektu Objektové metody Zobrazení objektu Objektové přístupové objekty Konstruktory objektů Prototypy objektů Iterovatelné objekty Sady objektů Mapy objektů Reference objektu

Funkce JS

Definice funkcí Funkční parametry Vyvolání funkce Volání funkce Funkce Použít Funkční uzávěry

JS třídy

Úvod do třídy Třídní dědičnost Třída Statická

JS Async

JS zpětná volání JS asynchronní JS Sliby JS Async/Await

JS HTML DOM

Úvod do DOM Metody DOM Dokument DOM Prvky DOM DOM HTML Formuláře DOM DOM CSS DOM animace Události DOM DOM Event Listener Navigace DOM DOM uzly Kolekce DOM Seznamy uzlů DOM

Kusovník prohlížeče JS

Okno JS Obrazovka JS Umístění JS Historie JS JS Navigator Popup Alert JS Časování JS Soubory cookie JS

Webová rozhraní API JS

Úvod do webového rozhraní API Web Forms API Webová historie API Web Storage API Web Worker API Web Fetch API Web Geolocation API

JS AJAX

Úvod do AJAXu AJAX XMLHttp Požadavek AJAX Odpověď AJAX Soubor XML AJAX AJAX PHP AJAX ASP Databáze AJAX Aplikace AJAX Příklady AJAX

JS JSON

Úvod do JSON Syntaxe JSON JSON vs XML Datové typy JSON Analýza JSON JSON Stringify Objekty JSON Pole JSON Server JSON JSON PHP JSON HTML JSON JSONP

JS vs jQuery

Selektory jQuery HTML jQuery jQuery CSS jQuery DOM

Grafika JS

Grafika JS JS Canvas JS Plotly JS Chart.js JS Google Chart JS D3.js

Příklady JS

Příklady JS JS HTML DOM Vstup HTML JS JS HTML objekty JS HTML události Prohlížeč JS Editor JS Cvičení JS JS kvíz Certifikát JS

JS Reference

Objekty JavaScriptu HTML DOM objekty


JavaScript HTML DOM EventListener


Metoda addEventListener()

Příklad

Přidejte posluchač událostí, který se spustí, když uživatel klikne na tlačítko:

document.getElementById("myBtn").addEventListener("click", displayDate);

Metoda addEventListener()připojí obsluhu události k zadanému prvku.

Metoda addEventListener()připojí obslužnou rutinu události k prvku, aniž by přepsala stávající obslužné rutiny události.

K jednomu prvku můžete přidat mnoho obslužných rutin událostí.

K jednomu prvku můžete přidat mnoho obslužných rutin událostí stejného typu, tj. dvě události „kliknutí“.

Posluchače událostí můžete přidat k jakémukoli objektu DOM, nejen k prvkům HTML. tj. objekt okna.

Metoda addEventListener()usnadňuje kontrolu toho, jak událost reaguje na bublání.

Při použití této addEventListener()metody je JavaScript oddělen od značky HTML pro lepší čitelnost a umožňuje vám přidávat posluchače událostí, i když nemáte kontrolu nad značkami HTML.

removeEventListener()Pomocí této metody můžete snadno odstranit posluchač události .


Syntax

element.addEventListener(event, function, useCapture);

Prvním parametrem je typ události (jako „ click“ nebo „ mousedown“ nebo jakákoli jiná událost HTML DOM .)

Druhým parametrem je funkce, kterou chceme volat, když dojde k události.

Třetí parametr je booleovská hodnota určující, zda se má použít probublávání událostí nebo zachycování událostí. Tento parametr je volitelný.

Všimněte si, že pro událost nepoužíváte předponu "on"; použijte " click" místo " onclick".


Přidejte obslužnou rutinu události k prvku

Příklad

Upozornění "Ahoj světe!" když uživatel klikne na prvek:

element.addEventListener("click", function(){ alert("Hello World!"); });

Můžete také odkazovat na externí „pojmenovanou“ funkci:

Příklad

Upozornění "Ahoj světe!" když uživatel klikne na prvek:

element.addEventListener("click", myFunction);

function myFunction() {
  alert ("Hello World!");
}


Přidejte mnoho obslužných rutin událostí do stejného prvku

Tato addEventListener()metoda umožňuje přidat mnoho událostí do stejného prvku, aniž by došlo k přepsání existujících událostí:

Příklad

element.addEventListener("click", myFunction);
element.addEventListener("click", mySecondFunction);

Do stejného prvku můžete přidat události různých typů:

Příklad

element.addEventListener("mouseover", myFunction);
element.addEventListener("click", mySecondFunction);
element.addEventListener("mouseout", myThirdFunction);

Přidejte obslužnou rutinu události do okna Object

Tato addEventListener()metoda vám umožňuje přidat posluchače událostí na jakýkoli objekt HTML DOM, jako jsou prvky HTML, dokument HTML, objekt okna nebo jiné objekty, které podporují události, jako je xmlHttpRequestobjekt.

Příklad

Přidejte posluchač události, který se spustí, když uživatel změní velikost okna:

window.addEventListener("resize", function(){
  document.getElementById("demo").innerHTML = sometext;
});

Předávání parametrů

Při předávání hodnot parametrů použijte "anonymní funkci", která volá zadanou funkci s parametry:

Příklad

element.addEventListener("click", function(){ myFunction(p1, p2); });

Probublávání událostí nebo zachycování událostí?

Existují dva způsoby šíření událostí v HTML DOM, probublávání a zachycování.

Šíření události je způsob, jak definovat pořadí prvků, když nastane událost. Pokud máte prvek <p> uvnitř prvku <div> a uživatel klikne na prvek <p>, událost „click“ kterého prvku by měla být zpracována jako první?

Při probublávání se nejprve zpracuje událost nejvnitřnějšího prvku a poté vnější: nejprve se zpracuje událost kliknutí prvku <p> a poté událost kliknutí prvku <div>.

Při zachycování se nejprve zpracuje událost nejvíce vnějšího prvku a poté vnitřní: nejprve bude zpracována událost kliknutí prvku <div> a poté událost kliknutí prvku <p>.

Pomocí metody addEventListener() můžete určit typ šíření pomocí parametru "useCapture":

addEventListener(event, function, useCapture);

Výchozí hodnota je false, která použije šíření bublání, když je hodnota nastavena na hodnotu true, událost používá šíření zachycování.

Příklad

document.getElementById("myP").addEventListener("click", myFunction, true);
document.getElementById("myDiv").addEventListener("click", myFunction, true);

Metoda removeEventListener()

Tato removeEventListener()metoda odstraňuje obslužné rutiny událostí, které byly připojeny pomocí metody addEventListener():

Příklad

element.removeEventListener("mousemove", myFunction);

Odkaz na objekt události HTML DOM

Seznam všech událostí HTML DOM naleznete v naší úplné Referenční příručce objektu událostí HTML DOM .


Otestujte se pomocí cvičení

Cvičení:

Použijte eventListenerk přiřazení události onclick <button>prvku.

<button id="demo"></button>

<script>
document.getElementById("demo").("", myFunction);
</script>