Junior
Kuidas eemaldada sündmuse kuulaja?
sobes.tech AI
Vastus AI-lt
Selleks, et eemaldada sündmuse kuulaja, kasutatakse meetodit removeEventListener(). See meetod võtab vastu samad kolm argumenti nagu addEventListener():
- Sündmuse tüüp (string, näiteks
'click','mouseover'). - Viide funktsiooni töötlejale, mis määrati.
- Valikuline objekt või loogiline väärtus, mis näitab faasi (haaramist või ülespuhumist). Selle peab vastama sellele, mis kasutati lisamisel.
Oluline: edukaks eemaldamiseks tuleb sisestada just sama funktsiooni viide, mis kasutati lisamisel. Anonüümseid funktsioone, mis luuakse "kohapeal", selle meetodiga eemaldada ei saa.
Näide:
// Saame elemendi
const element = document.getElementById('myButton');
// Määrame funktsiooni töötleja
function handleClick() {
console.log('Nupp on vajutatud!');
}
// Lisame töötleja
element.addEventListener('click', handleClick);
// ...kood...
// Eemaldame töötleja
element.removeEventListener('click', handleClick);
Kui töötleja lisati valikutega, näiteks useCapture: true, siis nende eemaldamisel tuleb need samuti märkida:
element.addEventListener('click', handleClick, { capture: true });
// ...
element.removeEventListener('click', handleClick, { capture: true });
Kui lisamisel oli kolmas argument vahele jäetud (kasutati vaikimisi väärtust false), siis seda võib samuti jätta või märkida false:
element.addEventListener('click', handleClick); // useCapture: false vaikimisi
// ...
element.removeEventListener('click', handleClick);
element.removeEventListener('click', handleClick, false); // on ekvivalent eelnevale