Ukaz new Event

Ukaz new Event je konstruktor dogodkov, s katerim lahko ustvarite objekt dogodka in nato ta dogodek sprožite iz JavaScripta z metodo dispatchEvent. Zakaj je to koristno: lahko posnemate uporabniško klikanje na gumb, poskus pošiljanja obrazca in podobno. Pri tem se dogodek ne bo razlikoval od pravega, razen po lastnosti event.isTrusted. Lahko celo ustvarite dogodke z nestandardnimi (po vaši zamisli) imeni in jih nato sprožite ob pravem trenutku.

Sintaksa

javascriptnew Event(tip dogodka, [zastavice]);

Primer

Recimo, da imamo gumb. Ob kliku na ta gumb se izpiše sporočilo. Naredimo tako, da se ob premiku miške nad gumbom le-ta 'zmisli', da so nanj kliknili:

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

button.addEventListener('click', function() {
  alert('sporočilo');
});

button.addEventListener('mouseover', function() {
  let clickEvent = new Event('click'); // ustvarimo dogodek
  this.dispatchEvent(clickEvent); // posnemamo klik na gumb
});

Результат:

Primer

Lahko ustvarite lastne dogodke (z lastnim imenom) in jih nato ob pravem trenutku sprožite. Povežimo z gumbom dogodek showMessage in ob premiku miške nad njim inicializiramo ta dogodek:

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

button.addEventListener('showMessage', function() {
  alert('sporočilo');
});

button.addEventListener('mouseover', function() {
  let showMessageEvent = new Event('showMessage'); // ustvarimo dogodek
  this.dispatchEvent(showMessageEvent); // sprožimo dogodek
});

Результат:

Glejte tudi