209 of 264 menu

Metoden addEventListener

Metoden addEventListener lar deg tildele hendelseshåndterere til et element. Med den, kan du for eksempel spesifisere hva som skal gjøres ved et klikk på en knapp eller hva som skal gjøres ved inntasting av tekst i et tekstfelt. I den første parameteren angir vi typen for hendelsen, i den andre - funksjonen som vil utløses etter hendelsen spesifisert i den første parameteren. I den tredje valgfrie parameteren sender vi egenskapene til objektet (once, capture, passive) eller parameteren useCapture.

Syntaks

element.addEventListener('hendelsestype', funksjon, [objektets egenskaper]); eller element.addEventListener('hendelsestype', funksjon, [useCapture]);

Eksempel

La oss gjøre slik at ved et klikk på knappen vises en melding:

<input type="button" id="button" value="klikk på meg"> let button = document.querySelector('#button'); button.addEventListener('click', function() { alert('melding'); });

:

Eksempel

La oss skrive kode slik at ved tap av fokus i input-feltet vises en melding med teksten fra dette input-feltet:

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

:

Eksempel

La oss gjøre slik at ved et klikk på knappen skal meldingen vises i konsollen bare én gang. For å gjøre dette bruker vi den andre parameteren:

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

Eksempel

Parameteren passive forbyr kall til metoden event.preventDefault under behandling av hendelsen. La oss bruke metoden event.preventDefault på det forrige eksemplet, og også angi i parameteren passive verdien true:

<input type="button" id="button" value="klikk på meg"> let button = document.querySelector('#button'); button.addEventListener('click', function(event) { event.preventDefault(); console.log('Ingen melding'); }, { passive: true } );

Etter utførelse av koden vil vi se følgende meldinger:

'Ingen melding'; 'Unable to preventDefault inside passive event listener invocation.'

Eksempel

Parameteren useCapture med verdien true viser hendelsesbobling fra det indre elementet til det ytre, med verdien false - fra det ytre til det indre elementet. Ved overføring av parameteren useCapture utelates navnet og det skrives bare true eller false. La oss se hvordan hendelser bobler opp i foreldreelementet og barneelementet ved klikk på dem:

<div id="parent">Forelder <p id="child">Barn</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('forelder'), true ); child.addEventListener('click', () => alert('barn'), true );

:

Se også

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