Shkëputja e Funksioneve Anonime në JavaScript
Supozoni tani që funksione anonime janë të lidhura me paragrafët tanë:
let elems = document.querySelectorAll('p');
for (let elem of elems) {
elem.addEventListener('click', function() {
console.log(this.textContent);
});
}
Supozoni që ne duam të shkëputim këtë funksion nga paragrafi pas një klikimi mbi këtë paragraf. Megjithatë, ne përballemi me një problem: funksioni nuk ka emër, që do të thotë ne nuk do të jemi në gjendje t'i referohemi atij me këtë emër për ta shkëputur atë.
Për të zgjidhur problemin, duhet t'i jepni një emër funksionit, duke e kthyer atë në një shprehje funksionale të emërtuar. Le ta bëjmë këtë:
let elems = document.querySelectorAll('p');
for (let elem of elems) {
elem.addEventListener('click', function func() { // i dhamë emër funksionit
console.log(this.textContent);
});
}
Tani ky funksion mund të shkëputet brenda vetvetes:
let elems = document.querySelectorAll('p');
for (let elem of elems) {
elem.addEventListener('click', function func() {
console.log(this.textContent);
this.removeEventListener('click', func); // shkëputim funksionin
});
}
Jepet një listë ul, në çdo element të së cilës
është shkruar një numër. Bëni që me
klikim në çdo li numri i saj të rritet
me një.
Modifikoni detyrën e mëparshme në mënyrë
që çdo li të rrisë vetëm
vlerën e saj në klikimin e parë
mbi të.
Modifikoni detyrën e mëparshme në mënyrë
që çdo li të rrisë vetëm
vlerën e saj nëse vlera e saj
është më e vogël se 10.