Névtelen függvények eltávolítása a JavaScriptben
Tegyük fel, hogy a bekezdéseinkhez egy névtelen függvény van hozzárendelve:
let elems = document.querySelectorAll('p');
for (let elem of elems) {
elem.addEventListener('click', function() {
console.log(this.textContent);
});
}
Tegyük fel, hogy le szeretnénk választani ezt a függvényt a bekezdésről a bekezdésre kattintás után. Azonban egy problémával kell szembenéznünk: a függvénynek nincs neve, ami azt jelenti, hogy nem tudunk rá hivatkozni a nevével, hogy eltávolítsuk.
A probléma megoldásához nevet kell adnunk a függvénynek, így átalakítva egy elnevezett függvénykifejezéssé. Tegyük ezt meg:
let elems = document.querySelectorAll('p');
for (let elem of elems) {
elem.addEventListener('click', function func() { // nevet adtunk a függvénynek
console.log(this.textContent);
});
}
Most már ezt a függvényt le lehet választani önmagán belül:
let elems = document.querySelectorAll('p');
for (let elem of elems) {
elem.addEventListener('click', function func() {
console.log(this.textContent);
this.removeEventListener('click', func); // leváltjuk a függvényt
});
}
Adott egy ul lista, amelynek minden elemében
egy szám van. Állítsa be úgy, hogy
bármelyik li elemre kattintáskor
a benne lévő szám eggyel növekedjen.
Módosítsa az előző feladatot úgy,
hogy minden li elem csak az első rákattintáskor
növelje az értékét.
Módosítsa az előző feladatot úgy,
hogy minden li elem csak akkor növelje az értékét,
ha az értéke kisebb, mint 10.