Vienkartinis įvykis jQuery
Kai mes tyrėme įvykių atskyrimą naudodami
metodą
off,
mes naudojome šią konstrukciją:
$('li').on('click', function() {
$(this).append('!');
$(this).off('click', func);
});
Pirmiausia mes pririšome funkciją-apdorotoją su
on pagalba,
tada atsirišome naudodami off.
jQuery turi patogų metodą
one,
kuris leidžia pririšti vienkartinį įvykį -
jis suveiks tik vieną kartą, o
vėliau automatiškai atsiris. Šis metodas
pirmuoju parametru priima įvykio tipą,
o antruoju - pririštą funkciją.
Šį pavyzdį nagrinėsime remdamiesi žemiau pateiktu HTML kodu:
<ul>
<li>text</li>
<li>text</li>
<li>text</li>
</ul>
CSS kodas atrodo taip:
li {
width: 100px;
cursor: pointer;
}
Dabar prie kiekvienos li pririšame
vienkartinį įvykį:
$('li').one('click', function() {
$(this).append('!');
});
Paspauskite ant sąrašo punktų. Kaip matote, mes gavome tą patį efektą,
naudodami metodą one.
Pririškite prie visų nuorodų įvykį - kai
užvedate pelę ant nuoroda, į jos teksto
galą pridedamas jos href skliausteliuose.
Po pirmojo užvedimo ant nuorodos
reikia atsirišti nuo jos įvykį, kuris
prideda href į teksto galą.
Visų input elementų atveju pasidarykite taip, kad jie
atspausdintų savo value reikšmę
paspaudus ant bet kurio iš jų, bet tik
pirmąjį paspaudimą. Pakartotinis paspaudimas ant
input elemento neturėtų sukelti reakcijos.
Duoti skaičių paragrafai. Paspaudus ant paragrafo jame turi pasirodyti skaičiaus kvadratas, bet tik pirmą kartą paspaudus. Dvigubai paspaudus ant paragrafo skaičius jame turi padvigubėti, bet taip pat tik pirmą kartą.
Duoti paragrafai. Pasidarykite taip, kad pirmą
kartą paspaudus ant paragrafo į jo galą būtų pridėtas '!',
bet tik pirmą kartą paspaudus.