⊗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
Біз сайттың жұмысы, аналитика және персонализация үшін cookie файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау