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
-
die Eigenschaft
addEventListener,
die Ereignisse bindet -
die Eigenschaft
removeEventListener,
die Ereignisse entbindet