Metoda off

Metoda off umožňuje odpojit obsluhu událostí od elementu. Pro připojení obsluhy lze použít metodu off.

Syntaxe

Tímto způsobem odstraňujeme obsluhu událostí z elementu, jako první parametr se ve formě řetězce předává jedna nebo více událostí oddělených mezerami, druhým - předáváme dodatečný filtrující selektor potomků uvnitř elementu (měl by odpovídat tomu, co jsme předávali v metodě on při připojování obsluhy). Pro odstranění všech delegovaných událostí, předejte hodnotu '**'. Druhý parametr je volitelný. Třetím předáváme funkci-obsluhu (kterou jsme připojovali), do které se předává objekt události nebo předáme false:

javascript$(selektor).off(události, [selektor], funkce-obsluha(objekt události));

Lze použít metodu off jiným způsobem, pak se do prvního parametru předává objekt JavaScript, kde klíče jsou typ události a hodnoty - funkce-obsluhy, které jsme přidali k elementu:

javascript$(selektor).off({'typ události': handler}, [selektor]);

Můžeme jednoduše předat jeden parametr ve formě objektu jQuery.Event:

javascript$(selektor).off(událost);

Pokud metodě nepředáme parametry, pak odpojíme od elementu všechny připojené obsluhy:

javascript$(selektor).off();

Příklad

Přidejme k odstavcům funkci-obsluhu testFunc. Ale okamžitě odstraníme obsluhu u druhého odstavce, tím pádem kliknutí na druhý odstavec nebude nic způsobovat (pokud zakomentujeme poslední řádek kódu, uvidíme, jak se událost spustí i při kliknutí na druhý odstavec):

html<p id="test1">click1</p>
<p id="test2">click2</p>
javascriptfunction testFunc(event) {
  alert(event.data.text);
}

$('#test1').on('click', {text: 'aaa'}, testFunc); // přidáme obsluhu

$('#test2').on('click', {text: 'bbb'}, testFunc); // přidáme obsluhu
$('#test2').off('click', testFunc); // odstraníme obsluhu

Viz také

  • metoda on,
    která umožňuje připojit obsluhu událostí k elementu
  • metoda one,
    která umožňuje, aby událost proběhla jednou, a poté automaticky odstraní obsluhu