Komento new Event
Komento new Event on tapahtumien
konstruktori, jolla voidaan luoda
tapahtumaolio, ja sitten laukaista tämä tapahtuma
JavaScriptistä käyttämällä metodia dispatchEvent.
Miksi tämä on tarpeen: voidaan matkia käyttäjän
painikkeen painamista, lomakkeen lähetysyritystä
ja niin edelleen. Tällöin tapahtuma ei eroa
aidosta millään tavalla paitsi ominaisuudella
event.isTrusted.
Voidaan jopa luoda tapahtumia epästandardeilla
(keksimilläsi) nimillä ja sitten laukaista
ne oikeaan hetkeen.
Syntaksi
new Event(tapahtuman tyyppi, [liput]);
Esimerkki
Oletetaan, että meillä on painike. Kun tätä painiketta napsautetaan, näytetään viesti. Tehdään niin, että kun hiiri viedään painikkeen päälle, painike luulee, että sitä on klikattu:
<button id="button">painike</button>
let button = document.querySelector('#button');
button.addEventListener('click', function() {
alert('viesti');
});
button.addEventListener('mouseover', function() {
let clickEvent = new Event('click'); // luodaan tapahtuma
this.dispatchEvent(clickEvent); // matkitaan painikkeen klikkausta
});
:
Esimerkki
Voit luoda omia tapahtumia (omilla nimillään)
ja sitten laukaista ne oikeaan aikaan. Liitetään
painikkeeseen tapahtuma showMessage ja
kun hiiri viedään painikkeen päälle, käynnistetään tämä tapahtuma:
<button id="button">painike</button>
let button = document.querySelector('#button');
button.addEventListener('showMessage', function() {
alert('viesti');
});
button.addEventListener('mouseover', function() {
let showMessageEvent = new Event('showMessage'); // luodaan tapahtuma
this.dispatchEvent(showMessageEvent); // laukaistaan tapahtuma
});
:
Katso myös
-
ominaisuus
addEventListener,
joka liittää tapahtumia -
ominaisuus
removeEventListener,
joka irrottaa tapahtumia