⊗jsPmDmAHU 363 of 505 menu

Odväzovanie anonymných funkcií v JavaScripte

Nech je teraz k našim odstavcom priviazaná anonymná funkcia:

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

Predpokladajme, že chceme odvázať túto funkciu od odstavca po kliknutí na tento odsek. Nás však čaká problém: funkcia nemá meno, čo znamená, že sa na ňu nemôžeme odvolať pod týmto menom, aby sme ju odviazali.

Na vyriešenie problému je potrebné dať funkcii meno, čím z nej urobíme pomenovaný funkčný výraz. Urobme to:

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

Teraz je možné túto funkciu odvázať vnútri nej samej:

let elems = document.querySelectorAll('p'); for (let elem of elems) { elem.addEventListener('click', function func() { console.log(this.textContent); this.removeEventListener('click', func); // odväzujeme funkciu }); }

Daný zoznam ul, v každom bode ktorého je zapísané číslo. Zaistite, aby sa kliknutím na ľubovoľnú li jej číslo zvýšilo o jednu.

Upravte predchádzajúcu úlohu tak, aby každá li zvýšila svoju hodnotu len po prvom stlačení na ňu.

Upravte predchádzajúcu úlohu tak, aby každá li zvýšila svoju hodnotu len v prípade, že jej hodnota je menšia ako 10.

Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť