Příkaz new Event

Příkaz new Event je konstruktor událostí, pomocí kterého lze vytvořit objekt události a poté tuto událost vyvolat z JavaScriptu pomocí metody dispatchEvent. K čemu to je užitečné: lze napodobit stisknutí tlačítka uživatelem, 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 vyvolat v potřebný okamžik.

Syntaxe

javascriptnew Event(typ události, [příznaky]);

Příklad

Předpokládejme, že máme tlačítko. Po kliknutí na toto tlačítko se zobrazí zpráva. Udělejme to, aby se při najetí myší na tlačítko toto tlačítko domnívalo, že na něj bylo kliknuto:

html<button id="button">tlačítko</button>
javascriptlet 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ý okamžik vyvolat. Pojďme připojit k tlačítku událost showMessage a po najetí myší inicializovat tuto událost:

html<button id="button">tlačítko</button>
javascriptlet 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 aktivaci události
});

Результат:

Viz také