Kommandot new Event

Kommandot new Event är en konstruktor för händelser, med vilken du kan skapa ett händelseobjekt, och sedan utlösa denna händelse från JavaScript med hjälp av metoden dispatchEvent. Varför detta är användbart: du kan efterlikna användarens klick på en knapp, försök att skicka ett formulär och så vidare. Dessutom kommer händelsen inte att skilja sig från den äkta förutom genom egenskapen event.isTrusted. Du kan till och med skapa händelser med icke-standardiserade (av dig hittade på) namn och sedan utlösa dem vid rätt tillfälle.

Syntax

javascriptnew Event(händelsetyp, [flaggor]);

Exempel

Låt oss säga att vi har en knapp. När man klickar på denna knapp visas ett meddelande. Låt oss göra så att när musen förs över knappen så tror denna knapp att den blev klickad på:

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

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

button.addEventListener('mouseover', function() {
  let clickEvent = new Event('click'); // skapar händelsen
  this.dispatchEvent(clickEvent); // efterliknar klick på knappen
});

Результат:

Exempel

Du kan skapa egna händelser (med ditt eget namn) och sedan utlösa dem vid rätt tillfälle. Låt oss binda händelsen showMessage till knappen och när musen förs över utlösa denna händelse:

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

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

button.addEventListener('mouseover', function() {
  let showMessageEvent = new Event('showMessage'); // skapar händelsen
  this.dispatchEvent(showMessageEvent); // utlöser händelsen
});

Результат:

Se även