Junior
Ako odstrániť poslucháča udalostí?
sobes.tech AI
Odpoveď od AI
Na odstránenie poslucháča udalosti sa používa metóda removeEventListener(). Táto metóda prijíma rovnaké tri argumenty ako addEventListener():
- Typ udalosti (reťazec, napríklad
'click','mouseover'). - Odkaz na priradenú obslužnú funkciu.
- Voliteľný objekt alebo logická hodnota, ktorá označuje fázu (zachytávanie alebo bublanie). Musí zodpovedať tomu, čo bolo použité pri pridávaní.
Dôležité: pre úspešné odstránenie je potrebné odovzdať presne rovnaký odkaz na funkciu, ktorý bol použitý pri pridávaní. Anonymné funkcie vytvorené "za behu" nie je možné takto odstrániť.
Príklad:
// Získanie prvku
const element = document.getElementById('myButton');
// Definovanie obslužnej funkcie
function handleClick() {
console.log('Tlačidlo stlačené!');
}
// Pridanie obsluhy
element.addEventListener('click', handleClick);
// ...kód...
// Odstránenie obsluhy
element.removeEventListener('click', handleClick);
Ak bola obsluha pridaná s možnosťami, napríklad useCapture: true, je potrebné ich tiež uviesť pri odstraňovaní:
element.addEventListener('click', handleClick, { capture: true });
// ...
element.removeEventListener('click', handleClick, { capture: true });
Ak pri pridávaní bol tretí argument vynechaný (predvolená hodnota false), je možné ho tiež vynechať alebo nastaviť na false:
element.addEventListener('click', handleClick); // useCapture: false predvolené
// ...
element.removeEventListener('click', handleClick);
element.removeEventListener('click', handleClick, false); // ekvivalentne