Príkaz new Event

Príkaz new Event je konštruktor udalostí, pomocou ktorého môžete vytvoriť objekt udalosti a potom túto udalosť vyvolať z JavaScriptu pomocou metódy dispatchEvent. Načo je to potrebné: môžete simulovať kliknutie používateľa na tlačidlo, pokus o odoslanie formulára a podobne. Pritom sa udalosť nebude líšiť od skutočnej ničím okrem vlastnosti event.isTrusted. Môžete dokonca vytvárať udalosti s neštandardnými (vami vymyslenými) názvami a potom ich vyvolávať v potrebnom momente.

Syntax

javascriptnew Event(typ udalosti, [príznaky]);

Príklad

Predpokladajme, že máme tlačidlo. Po kliknutí na toto tlačidlo sa zobrazí správa. Urobme to tak, aby pri prejdení myšou nad tlačidlom sa toto tlačidlo domnievalo, že naň bolo kliknuté:

html<button id="button">tlačidlo</button>
javascriptlet button = document.querySelector('#button');

button.addEventListener('click', function() {
  alert('správa');
});

button.addEventListener('mouseover', function() {
  let clickEvent = new Event('click'); // vytvoríme udalosť
  this.dispatchEvent(clickEvent); // simulujeme kliknutie na tlačidlo
});

Результат:

Príklad

Môžete vytvárať vlastné udalosti (s vlastným názvom) a potom ich v potrebnom momente vyvolať. Poďme naviazať na tlačidlo udalosť showMessage a pri prejdení myšou ju inicializovať:

html<button id="button">tlačidlo</button>
javascriptlet button = document.querySelector('#button');

button.addEventListener('showMessage', function() {
  alert('správa');
});

button.addEventListener('mouseover', function() {
  let showMessageEvent = new Event('showMessage'); // vytvoríme udalosť
  this.dispatchEvent(showMessageEvent); // vyvoláme spustenie udalosti
});

Результат:

Pozri tiež