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
new 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:
<button id="button">button</button>
let 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:
<button id="button">button</button>
let 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
-
die Eigenschaft
addEventListener,
die Ereignisse bindet -
die Eigenschaft
removeEventListener,
die Ereignisse entbindet