Metoda off w jQuery
Odłączanie zdarzeń, podłączonych przez
on,
wykonuje się za pomocą metody
off.
Jako pierwszy parametr przyjmuje typ zdarzenia
(na przykład, 'click'), a jako drugi - nazwę
funkcji, którą należy odłączyć.
Rozważmy następujący przykład. Załóżmy, że mamy kod HTML:
<ul>
<li>tekst</li>
<li>tekst</li>
<li>tekst</li>
</ul>
W CSS określono styl dla znacznika li:
li {
width: 100px;
cursor: pointer;
}
Zróbmy tak, aby po pierwszym
kliknięciu w li, zdarzenie od niego
zostało odłączone:
$('li').on('click', function() {
$(this).append('!');
$(this).off('click', func);
});
Klikaj w punkty listy. Zobaczysz, że przy ponownym
naciśnięciu na ten sam punkt listy nic się nie dzieje, ponieważ
nasza funkcja func po wykonaniu metody
append
zostaje odłączona metodą off.
Podłącz do wszystkich linków zdarzenie - po
najechaniu na link na koniec jej tekstu
dopisywany jest jej href w okrągłych
nawiasach. Po pierwszym najechaniu na link
należy odłączyć od niego zdarzenie, które
dodaje href na koniec tekstu.
Dla wszystkich inputów zrób tak, aby
wyświetlały swoją value przy
naciśnięciu na którykolwiek z nich, ale tylko przy
pierwszym naciśnięciu. Powtórne naciśnięcie na
input nie powinno wywoływać reakcji.
Dane są akapity z liczbami. Po kliknięciu w akapit powinien w nim pojawić się kwadrat liczby, którą zawiera, ale tylko przy pierwszym kliknięciu. Po podwójnym kliknięciu w akapit liczba w akapicie powinna się podwoić, ale też tylko pierwszy raz.