⊗jsPmDmHU 361 of 505 menu

Afkobling af events i JavaScript

I denne lektion vil vi lære at afkoble event handlers, som tidligere blev tilknyttet af os til elementer. Lad som eksempel følgende knap være givet:

<input id="button" type="submit">

Lad os tilknytte funktionen func til denne knap:

let button = document.querySelector('#button'); button.addEventListener('click', func); function func() { console.log('!!!'); }

Lad os nu gøre sådan, at event handleren udløses ved det første klik, og derefter bliver afkoblet fra knappen. Til dette findes der en speciel metode removeEventListener. Denne metode tager som første parameter typen af eventet, og som andet - en reference til funktionen, som skal afkobles.

Som regel betyder det, at event handleren afkobles på samme måde, som den blev tilknyttet. Det vil sige, hvis vi tilknyttede den sådan her: addEventListener('click', func), så afkobler vi den også med de samme parametre, sådan her: removeEventListener('click', func).

Så lad os løse den opgave, vi har stillet:

let button = document.querySelector('#button'); button.addEventListener('click', func); function func() { console.log('!!!'); this.removeEventListener('click', func); }

Der gives et link og en knap. Ved klik på knappen skal du tilføje indholdet af linkets href attribut til slutningen af linkets tekst i runde parenteser. Gør sådan, at denne tilføjelse kun sker ved det første tryk.

Der gives en knap, hvis værdi er tallet 1. Gør sådan, at ved klik på denne knap øges dens værdi hver gang med én. Efter at knappens værdi når 10 - afkobl event handleren, så knappen ikke længere reagerer på tryk.

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