Junior
Kako ukloniti slušaoca događaja?
sobes.tech АИ
Одговор од АИ
Za uklanjanje slušaoca događaja koristi se metoda removeEventListener(). Ova metoda prihvata ista tri argumenta kao i addEventListener():
- Tip događaja (niz, na primer
'click','mouseover'). - Referenca na dodeljenu funkciju rukovaoca.
- Opcionalni objekat ili logička vrednost koja označava fazu (hvatanje ili bubnjenje). Mora odgovarati onome što je korišćeno prilikom dodavanja.
Važno: za uspešno uklanjanje potrebno je proslediti tačno istu referencu funkcije koja je korišćena prilikom dodavanja. Anonimne funkcije kreirane "u letu" ne mogu se na ovaj način ukloniti.
Primer:
// Dobavljanje elementa
const element = document.getElementById('myButton');
// Definisanje funkcije rukovaoca
function handleClick() {
console.log('Dugme je pritisnuto!');
}
// Dodavanje rukovaoca
element.addEventListener('click', handleClick);
// ...kod...
// Uklanjanje rukovaoca
element.removeEventListener('click', handleClick);
Ako je rukovalac dodat sa opcijama, na primer useCapture: true, i pri uklanjanju ih je potrebno navesti:
element.addEventListener('click', handleClick, { capture: true });
// ...
element.removeEventListener('click', handleClick, { capture: true });
Ako je argument treći put nakon dodavanja izostavljen (podrazumevana vrednost false), i pri uklanjanju ga je moguće izostaviti ili postaviti na false:
element.addEventListener('click', handleClick); // useCapture: false podrazumevano
// ...
element.removeEventListener('click', handleClick);
element.removeEventListener('click', handleClick, false); // ekvivalentno