Enkratni dogodek v jQuery
Ko smo preučevali odvezovanje dogodkov z
uporabo metode
off,
smo uporabili naslednjo konstrukcijo:
$('li').on('click', function() {
$(this).append('!');
$(this).off('click', func);
});
Najprej smo pritrdili funkcijo-obdelovalec z
uporabo on,
nato pa odvezali z uporabo off.
V jQuery obstaja priročna metoda
one,
ki omogoča vezavo enkratnega dogodka -
izvedel se bo le enkrat, nato
pa se samodejno odveže. Ta metoda
kot prvi parameter sprejme tip dogodka,
kot drugega pa pripeto funkcijo.
Naslednji primer bomo obravnavali na podlagi spodaj navedene HTML kode:
<ul>
<li>text</li>
<li>text</li>
<li>text</li>
</ul>
CSS koda izgleda takole:
li {
width: 100px;
cursor: pointer;
}
Zdaj na vsak li privežemo
enkratni dogodek:
$('li').one('click', function() {
$(this).append('!');
});
Kliknite na elemente
seznama. Kot vidite, smo dobili enak učinek, zahvaljujoč
metodi one.
Vsem povezavam privežite dogodek -
ob preletu miške nad povezavo se na konec njenega besedila
doda njen href v okroglih
oklepajih. Po prvem preletu miške nad povezavo
je treba od nje odvezati dogodek, ki
doda href na konec besedila.
Za vsa vnosna polja naredite tako, da
izpišejo svojo value ob
kliku na katero koli izmed njih, vendar le ob
prvem kliku. Ponovni klik na
vnosno polje ne sme povzročiti reakcije.
Podani so odstavki s števili. Ob kliku na odstavek se mora v njem pojaviti kvadrat števila, ki ga vsebuje, vendar le ob prvem kliku. Ob dvojnem kliku na odstavek naj se število v odstavku podvoji, vendar tudi le prvič.
Podani so odstavki. Naredite tako, da se ob prvem
kliku na odstavek na njegov konec doda '!',
vendar le ob prvem kliku.