209 of 264 menu

Metoden addEventListener

Metoden addEventListener giver mulighed for at tildele elementer håndteringsfunktioner for begivenheder. Med den kan man for eksempel angive, hvad der skal ske ved et klik på en knap, eller hvad der skal ske ved indtastning af tekst i et tekstfelt. I den første parameter angiver vi typen af den overførte begivenhed, i den anden - funktionen, som vil udløses efter den begivenhed, der er angivet i den første parameter. I den tredje valgfrie parameter overfører vi egenskaber for objektet (once, capture, passive) eller parameteren useCapture.

Syntaks

element.addEventListener('begivenhedstype', funktion, [objektegenskaber]); eller element.addEventListener('begivenhedstype', funktion, [useCapture]);

Eksempel

Lad os gøre sådan, at der vises en besked ved klik på knappen:

<input type="button" id="button" value="click me"> let button = document.querySelector('#button'); button.addEventListener('click', function() { alert('message'); });

:

Eksempel

Lad os skrive kode, så der vises en besked med teksten fra inputfeltet, når det mister fokus:

<input id="input" value="text"> let input = document.querySelector('#input'); input.addEventListener('blur', function() { alert(this.value); });

:

Eksempel

Lad os gøre sådan, at beskeden kun vises i konsollen én gang ved klik på knappen. For at gøre dette vil vi bruge den tredje parameter:

<input type="button" id="button" value="click me"> let button = document.querySelector('#button'); button.addEventListener('click', function() { console.log('message'); }, { once: true } );

Eksempel

Parameteren passive forbyder kald af metoden event.preventDefault under håndtering af begivenheden. Lad os anvende metoden event.preventDefault i det forrige eksempel og samtidig angive værdien true for parameteren passive:

<input type="button" id="button" value="click me"> let button = document.querySelector('#button'); button.addEventListener('click', function(event) { event.preventDefault(); console.log('No message'); }, { passive: true } );

Efter udførelse af koden vil vi se følgende beskeder:

'No message'; 'Unable to preventDefault inside passive event listener invocation.'

Eksempel

Parameteren useCapture med værdien true viser bobling af begivenheder fra det indre element til det ydre, mens værdien false viser bobling fra det ydre til det indre element. Når parameteren useCapture overføres, udelades dens navn og der skrives simpelthen true eller false. Lad os se, hvordan begivenheder bobler i forældreelementet og child-elementet ved klik på dem:

<div id="parent">Parent <p id="child">Child</p> </div> #parent{ width: 60px; padding: 10px; border: 1px solid red; text-align: center; } #child{ width: 60px; marging-right: 40px; border: 1px solid blue; text-align: center; } let parent = document.querySelector('#parent'); let child = document.querySelector('#parent'); parent.addEventListener('click', () => alert('parent'), true ); child.addEventListener('click', () => alert('child'), true );

:

Se også

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