⊗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 файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу