Çlirimi i Përpunuesve të Ngjarjeve në Lak në JavaScript
Supozoni tani që kemi jo një element, por disa. Për shembull, disa paragrafë:
<p>text1</p>
<p>text2</p>
<p>text3</p>
Le t'i lidhim secilit prej këtyre paragrafëve me një përpunues
klikimi funksionin func:
let elems = document.querySelectorAll('p');
for (let elem of elems) {
elem.addEventListener('click', func);
}
function func() {
console.log(this.textContent);
}
Tani le ta modifikojmë kodin në mënyrë që çdo paragraf të reagojë vetëm në klikimin e parë të bërë mbi të. Për këtë, kur klikohet në një paragraf do ta çlidhim përpunuesin e lidhur prej tij. Në këtë rast, çlirimi do të bëhet konkretisht nga ky paragraf, pa prekur të tjerët.
Siç e dini tashmë, elementi, në të cilin ka ndodhur
ngjarja, mund të merret në funksionin-përpunues
përmes this. Kjo do të thotë se duhet
të kryhet çlirimi i përpunuesit nga this,
kështu:
let elems = document.querySelectorAll('p');
for (let elem of elems) {
elem.addEventListener('click', func);
}
function func() {
console.log(this.textContent);
this.removeEventListener('click', func); // çlidhim përpunuesin
}
Jepen paragrafët. Me klikim në cilindo prej paragrafëve shtoni në fund të tij një pikëçuditëse. Bëni që ky shtim të ndodhë vetëm në klikimin e parë.