new Event

Der Befehl new Event - ist ein Ereigniskonstruktor, mit dem ein Ereignisobjekt erstellt werden kann, um dann dieses Ereignis aus JavaScript mit der Methode dispatchEvent auszulösen. Wofür das nützlich ist: Man kann das Drücken eines Benutzers auf einen Button, den Versuch des Absendens eines Formulars und so weiter imitieren. Dabei unterscheidet sich das Ereignis von einem echten bis auf die Eigenschaft event.isTrusted in nichts. Man kann sogar Ereignisse mit nicht-standardisierten (selbsterdachten) Namen erstellen und sie dann im richtigen Moment auslösen.

Syntax

javascriptnew Event(Ereignistyp, [Flags]);

Beispiel

Nehmen wir an, wir haben einen Button. Beim Klick auf diesen Button wird eine Nachricht ausgegeben. Lassen wir es so sein, dass der Button beim Darüberfahren mit der Maus denkt, dass auf ihn geklickt wurde:

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

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

button.addEventListener('mouseover', function() {
  let clickEvent = new Event('click'); // Ereignis erstellen
  this.dispatchEvent(clickEvent); // Klick auf den Button imitieren
});

Результат:

Beispiel

Man kann eigene Ereignisse (mit eigenem Namen) erstellen und sie dann im benötigten Moment auslösen. Binden wir an einen Button das Ereignis showMessage und lösen beim Darüberfahren mit der Maus dieses Ereignis aus:

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

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

button.addEventListener('mouseover', function() {
  let showMessageEvent = new Event('showMessage'); // Ereignis erstellen
  this.dispatchEvent(showMessageEvent); // Ereignisauslösung aufrufen
});

Результат:

Siehe auch