⊗jsPmDmLHU 362 of 505 menu

Откачане на манипулатори на събития в цикъл в JavaScript

Нека сега имаме не един елемент, а няколко. Например, няколко параграфа:

<p>text1</p> <p>text2</p> <p>text3</p>

Нека към всеки от тези параграфи с манипулатор на клик добавим функцията func:

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

Нека сега преработим кода така, че всеки параграф да реагира само на първото натискане върху него. За целта при клик на параграф ще откачаме от него свързания манипулатор. При това откачане ще е конкретно за този параграф, без да засяга останалите по никакъв начин.

Както вече знаете, елементът, в който е станало събитието, може да се получи във функцията-манипулатор чрез this. Това означава, че трябва да извършим откачане на манипулатора от this, ето така:

let elems = document.querySelectorAll('p'); for (let elem of elems) { elem.addEventListener('click', func); } function func() { console.log(this.textContent); this.removeEventListener('click', func); // откачаме манипулатора }

Дадени са параграфи. При натискане на който и да е от параграфите добавете в края му удивителен знак. Направете така, че това добавяне да се случва само при първото натискане.

Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικά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
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне