Kommandoen new Event

Kommandoen new Event er en konstruktør for hendelser, som kan brukes til å opprette et hendelseobjekt, og deretter utløse denne hendelsen fra JavaScript ved hjelp av metoden dispatchEvent. Hvorfor er dette nyttig: man kan simulere brukerens klikk på en knapp, forsøk på å sende inn et skjema og så videre. I dette tilfellet vil ikke hendelsen skille seg fra den ekte på noen annen måte enn egenskapen event.isTrusted. Man kan til og med opprette hendelser med ikke-standard (selvoppfunnet) navn og deretter utløse dem i riktig øyeblikk.

Syntaks

javascriptnew Event(hendelsestype, [flagg]);

Eksempel

La oss si at vi har en knapp. Når denne knappen trykkes, vises en melding. La oss gjøre slik at når musepekeren beveger seg over knappen, skal knappen tro at den ble klikket på:

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

button.addEventListener('click', function() {
  alert('melding');
});

button.addEventListener('mouseover', function() {
  let clickEvent = new Event('click'); // oppretter en hendelse
  this.dispatchEvent(clickEvent); // simulerer et klikk på knappen
});

Результат:

Eksempel

Man kan opprette egne hendelser (med eget navn) og deretter utløse dem i riktig øyeblikk. La oss knytte en hendelse kalt showMessage til knappen og når musepekeren beveger seg over, initialiserer vi denne hendelsen:

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

button.addEventListener('showMessage', function() {
  alert('melding');
});

button.addEventListener('mouseover', function() {
  let showMessageEvent = new Event('showMessage'); // oppretter en hendelse
  this.dispatchEvent(showMessageEvent); // utløser hendelsen
});

Результат:

Se også