228 of 264 menu

Metoden dispatchEvent

Metoden dispatchEvent gør det muligt at efterligne en hændelse på et element. Hvorfor er dette nyttigt: man kan efterligne et brugerklik på en knap, et forsøg på at indsende en formular og så videre. I dette tilfælde vil hændelsen ikke adskille sig fra en ægte hændelse, bortset fra egenskaben event.isTrusted. Man kan endda skabe hændelser med ikke-standard (selvopfundne) navne og derefter udløse dem på det ønskede tidspunkt. Metoden anvendes på det element, hvor hændelsen skal udløses. Som parameter tager metoden en hændelse (et objekt), skabt med konstruktøren new Event.

Syntaks

element.dispatchEvent(event);

Eksempel

Lad os sige, at vi har en knap. Når der klikkes på denne knap, vises en besked. Lad os opnå, at når musen føres over knappen, så tror knappen, at der er blevet klikket på den:

<button id="button">knap</button> let button = document.querySelector('#button'); button.addEventListener('click', function() { alert('besked'); }); button.addEventListener('mouseover', function() { let clickEvent = new Event('click'); // opretter hændelsen this.dispatchEvent(clickEvent); // efterligner klik på knappen });

:

Eksempel

Man kan skabe sine egne hændelser (med sit eget navn) og derefter udløse dem på det rigtige tidspunkt. Lad os knytte hændelsen showMessage til knappen og ved mouseover initialisere denne hændelse:

<button id="button">knap</button> let button = document.querySelector('#button'); button.addEventListener('showMessage', function() { alert('besked'); }); button.addEventListener('mouseover', function() { let showMessageEvent = new Event('showMessage'); // opretter hændelsen this.dispatchEvent(showMessageEvent); // udløser hændelsen });

:

Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis