⊗jsPmDmAHU 363 of 505 menu

Avlänkning av anonyma funktioner i JavaScript

Låt oss nu anta att våra stycken är bundna till en anonym funktion:

let elems = document.querySelectorAll('p'); for (let elem of elems) { elem.addEventListener('click', function() { console.log(this.textContent); }); }

Låt oss säga att vi vill koppla bort denna funktion från stycket efter ett klick på detta stycke. Vi kommer dock möta ett problem: funktionen har inget namn, vilket betyder att vi inte kan referera till den med det namnet för att koppla bort den.

För att lösa problemet måste du ge funktionen ett namn, genom att göra den till ett namngivet funktionsuttryck. Låt oss göra det:

let elems = document.querySelectorAll('p'); for (let elem of elems) { elem.addEventListener('click', function func() { // gav funktionen ett namn console.log(this.textContent); }); }

Nu kan denna funktion kopplas bort inuti sig själv:

let elems = document.querySelectorAll('p'); for (let elem of elems) { elem.addEventListener('click', function func() { console.log(this.textContent); this.removeEventListener('click', func); // kopplar bort funktionen }); }

Given en lista ul, där varje punkt innehåller ett nummer. Gör så att när man klickar på vilken li som helst så ökar dess nummer med ett.

Modifiera den föregående uppgiften så att varje li endast ökar sitt värde vid första klicket på den.

Modifiera den föregående uppgiften så att varje li endast ökar sitt värde om dess värde är mindre än 10.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa