228 of 264 menu

Metoda dispatchEvent

Metoda dispatchEvent umožňuje simulovat událost na elementu. K čemu to je: lze simulovat stisknutí uživatele na tlačítko, pokus o odeslání formuláře a tak dále. Přitom se událost nebude lišit od skutečné ničím kromě vlastnosti event.isTrusted. Lze dokonce vytvářet události s nestandardními (vámi vymyšlenými) názvy a poté je volat v potřebný moment. Metoda se aplikuje na element, na kterém je třeba vyvolat událost. Jako parametr metoda přijímá událost (objekt), vytvořenou pomocí konstruktoru new Event.

Syntaxe

element.dispatchEvent(event);

Příklad

Předpokládejme, že máme tlačítko. Po stisknutí tohoto tlačítka se zobrazí zpráva. Udělejme to tak, aby při najetí myší na tlačítko si toto tlačítko myslelo, že na něj klikli:

<button id="button">tlačítko</button> let button = document.querySelector('#button'); button.addEventListener('click', function() { alert('zpráva'); }); button.addEventListener('mouseover', function() { let clickEvent = new Event('click'); // vytvoříme událost this.dispatchEvent(clickEvent); // simulujeme kliknutí na tlačítko });

:

Příklad

Lze vytvářet vlastní události (s vlastním názvem) a poté je v potřebný moment volat. Pojďme připojit k tlačítku událost showMessage a po najetí myší inicializovat tuto událost:

<button id="button">tlačítko</button> let button = document.querySelector('#button'); button.addEventListener('showMessage', function() { alert('zpráva'); }); button.addEventListener('mouseover', function() { let showMessageEvent = new Event('showMessage'); // vytvoříme událost this.dispatchEvent(showMessageEvent); // vyvoláme spuštění události });

:

hitrazbyes