Sobes.tech
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():

  1. Typ události (řetězec, například 'click', 'mouseover').
  2. Odkaz na přiřazenou obslužnou funkci.
  3. 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í