Metóda off

Metóda off umožňuje odpojiť obslužnú funkciu udalostí od prvku. Na pripojenie obslužnej funkcie možete použiť metódu off.

Syntax

Takto odstraňujeme obslužnú funkciu udalostí z prvku, ako prvý parameter sa v reťazci odovzdáva jedna alebo viac udalostí oddelených medzerami, druhým - odovzdáme dodatočný filtrujúci selektor potomkov vo vnútri prvku (mal by zodpovedať tomu, čo sme odovzdali v metóde on pri pripájaní obslužnej funkcie). Na odstránenie všetkých delegovaných udalostí odovzdajte hodnotu '**'. Druhý parameter je voliteľný. Tretím odovzdávame obslužnú funkciu (ktorú sme pripojili), do ktorej sa odovzdáva objekt udalosti alebo odovzdáme false:

javascript$(selektor).off(udalosti, [selektor], obslužná funkcia(objekt udalosti));

Môžeme použiť metódu off inak, vtedy sa ako prvý parameter odovzdáva objekt JavaScript, kde kľúče sú typ udalosti a hodnoty sú obslužné funkcie, ktoré sme pridali k prvku:

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

Môžeme jednoducho odovzdať jeden parameter v podobe objektu jQuery.Event:

javascript$(selektor).off(udalosť);

Ak metóde neodovzdáme parametre, tak odpojíme od prvku všetky pripojené obslužné funkcie:

javascript$(selektor).off();

Príklad

Pridajme k odsekom obslužnú funkciu testFunc. Ale hneď odstráňme obslužnú funkciu od druhého odseku, tým pádom kliknutie na druhý odsek nepovedie k ničomu (ak zakomentujeme posledný riadok kódu, uvidíme, ako udalosť funguje a pri kliknutí na druhý odsek):

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

$('#test1').on('click', {text: 'aaa'}, testFunc); // pridáme obslužnú funkciu

$('#test2').on('click', {text: 'bbb'}, testFunc); // pridáme obslužnú funkciu
$('#test2').off('click', testFunc); // odstránime obslužnú funkciu

Pozri tiež

  • metóda on,
    ktorá umožňuje pripojiť obslužnú funkciu udalostí k prvku
  • metóda one,
    ktorá umožňuje, aby udalosť zafungovala raz, a potom automaticky odstráni obslužnú funkciu