Kufutua Vichungi wa Matukio kwa Mzunguko katika JavaScript
Sasa tuseme hatuna kipengele kimoja, lakini kadhaa. Kwa mfano, aya kadhaa:
<p>maandishi1</p>
<p>maandishi2</p>
<p>maandishi3</p>
Wacha tuweke kichungi cha kubofya kwa kila
moja ya aya hizi kutumia kitendakazi func:
let elems = document.querySelectorAll('p');
for (let elem of elems) {
elem.addEventListener('click', func);
}
function func() {
console.log(this.textContent);
}
Sasa wacha tubadilishe msimbo ili aya kila moja itakapo bofya kwenye ayo kwa mara ya kwanza tu. Ili kufanya hivyo, tunapobofya kwenye aya tutafutua kichungi kilichounganishwa. Hata hivyo, kufutua kutafanyika hasa kwenye aya hii, bila kugusa zingine.
Kama unavyojua tayari, kipengele ambacho
tukio limetokea kinaweza kupatikana
katika kichungi-kitendakazi kupitia this.
Hii inamaanisha kuwa inahitajika
kufutua kichungi kutoka kwa this,
kama ifuatavyo:
let elems = document.querySelectorAll('p');
for (let elem of elems) {
elem.addEventListener('click', func);
}
function func() {
console.log(this.textContent);
this.removeEventListener('click', func); // tunafutua kichungi
}
Kuna aya zilizopewa. Kwa kubofya kwenye yoyote ya aya ongeza ishara ya mshangao mwishoni. Fanya hivi ili ongezeko hili lifanyike tu kwa kubofya kwa mara ya kwanza.