Junior
Jak odstranit posluchač událostí?
sobes.tech AI
Odpověď od AI
Pro odstranění posluchače událostí se používá metoda removeEventListener(). Tato metoda přijímá stejné tři argumenty jako addEventListener():
- Typ události (řetězec, například
'click','mouseover'). - Odkaz na přiřazenou obslužnou funkci.
- Volitelný objekt nebo logická hodnota indikující fázi (zachycení nebo bublání). Musí odpovídat tomu, co bylo použito při přidání.
Důležité: pro úspěšné odstranění je nutné předat přesně stejný odkaz na funkci, který byl použit při přidání. Anonymní funkce vytvořené "za běhu" nelze takto odstranit.
Příklad:
// Získání prvku
const element = document.getElementById('myButton');
// Definice obslužné funkce
function handleClick() {
console.log('Tlačítko stisknuto!');
}
// Přidání posluchače
element.addEventListener('click', handleClick);
// ...kód...
// Odebrání posluchače
element.removeEventListener('click', handleClick);
Pokud byl posluchač přidán s volbami, například useCapture: true, je třeba je také uvést při odstraňování:
element.addEventListener('click', handleClick, { capture: true });
// ...
element.removeEventListener('click', handleClick, { capture: true });
Pokud byl při přidání třetí argument vynechán (výchozí hodnota false), lze jej také vynechat nebo nastavit na false:
element.addEventListener('click', handleClick); // useCapture: false je výchozí
// ...
element.removeEventListener('click', handleClick);
element.removeEventListener('click', handleClick, false); // ekvivalentní