⊗jsPmDmAHU 363 of 505 menu

Anoniminių funkcijų atjungimas JavaScript

Tarkime, kad mūsų pastraipoms yra pririšta anoniminė funkcija:

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

Tarkime, kad norime atjungti šią funkciją nuo pastraipos po paspaudimo ant šios pastraipos. Tačiau mus laukia problema: funkcija neturi pavadinimo, o tai reiškia kad negalėsime kreiptis į ją pagal šį pavadinimą, kad ją atjungtume.

Problemai išspręsti reikia suteikti funkcijai pavadinimą, pavertus ją į pavadintą funkcinę išraišką. Padarykime tai:

let elems = document.querySelectorAll('p'); for (let elem of elems) { elem.addEventListener('click', function func() { // suteikėme funkcijai pavadinimą console.log(this.textContent); }); }

Dabar šią funkciją galima atjungti jos pačios viduje:

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

Duotas sąrašas ul, kuriame kiekviename punkte įrašytas skaičius. Padarykite taip, kad paspaudus bet kurią li jos skaičius padidėtų vienetu.

Modifikuokite ankstesnę užduotį taip, kad kiekviena li padidintų savo reikšmę tik pirmu paspaudimu ant jos.

Modifikuokite ankstesnę užduotį taip, kad kiekviena li padidintų savo reikšmę tik jei jos reikšmė mažesnė už 10.

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti