Jednorázová udalosť v jQuery
Keď sme študovali odpojenie udalostí pomocou metódy
off,
použili sme nasledujúcu konštrukciu:
$('li').on('click', function() {
$(this).append('!');
$(this).off('click', func);
});
Najprv sme pripojili funkciu-obsluhu pomocou
on,
potom sme ju odpojili pomocou off.
V jQuery existuje pohodlná metóda
one,
ktorá umožňuje pripojiť jednorázovú udalosť -
vykoná sa iba raz a potom sa automaticky odpojí. Táto metóda
ako prvý parameter prijíma typ udalosti,
a ako druhý - pripojenú funkciu.
Nasledujúci príklad si ukážeme na základe nižšie uvedeného HTML kódu:
<ul>
<li>text</li>
<li>text</li>
<li>text</li>
</ul>
CSS kód vyzerá takto:
li {
width: 100px;
cursor: pointer;
}
Teraz ku každej li pripojíme
jednorázovú udalosť:
$('li').one('click', function() {
$(this).append('!');
});
Klikajte na položky
zoznamu. Ako vidíte, dosiahli sme rovnaký efekt vďaka
metóde one.
Pripojte všetkým odkazom udalosť - pri
prejdení myšou nad odkaz sa na koniec jej textu
pripíše jej href v okrúhlych
zátvorkách. Po prvom prejdení myšou nad odkaz
je potrebné odpojiť od nej udalosť, ktorá
pridáva href na koniec textu.
Pre všetky inputy urobte tak, aby
zobrazovali svoju value pri
kliknutí na ktorýkoľvek z nich, ale iba pri
prvom kliknutí. Opakované kliknutie na
input nemá spôsobiť reakciu.
Sú dané odseky s číslami. Pri kliknutí na odsek sa v ňom má objaviť druhá mocnina čísla, ktoré obsahuje, ale iba pri prvom kliknutí. Pri dvojitom kliknutí na odsek sa číslo v odseku má zdvojnásobiť, ale tiež iba prvýkrát.
Sú dané odseky. Urobte tak, aby pri prvom
kliknutí na odsek sa mu na koniec pridalo '!',
ale iba pri prvom kliknutí.