Ühekordne sündmus jQuery-s
Kui me õppisime sündmuste lahtiseotamist
kasutades meetodit
off,
kasutasime me järgmist konstruktsiooni:
$('li').on('click', function() {
$(this).append('!');
$(this).off('click', func);
});
Kõigepealt kinnitasime funktsiooni-töötleja
kasutades on,
seejärel lahtiseotasime kasutades off.
jQuery-s on mugav meetod
one,
mis võimaldab siduda ühekordse sündmuse -
see täidetakse ainult üks kord ja
seejärel seotakse automaatselt lahti. See meetod
võtab esimese parameetrina sündmuse tüübi,
ja teise - kinnitatud funktsiooni.
Järgmist näidet vaatleme allpool toodud HTML koodi põhjal:
<ul>
<li>text</li>
<li>text</li>
<li>text</li>
</ul>
CSS kood näeb välja selline:
li {
width: 100px;
cursor: pointer;
}
Nüüd kinnitame igale li-le
ühekordse sündmuse:
$('li').one('click', function() {
$(this).append('!');
});
Klõpsake loendi punktidel.
Nagu näete, saime sama efekti tänu
meetodile one.
Kinnitage kõikidele linkidele sündmus -
kui viid linkidele kursori peale,
lisatakse selle teksti lõppu
selle href ümarsulgudes.
Pärast esimest viimist lingile
tuleb sellest sündmus lahti seota, mis
lisab href teksti lõppu.
Kõikidele inputitele tehke nii, et nad
kuvaksid oma value
mis tahes nendele klõpsates, kuid ainult
esimesel klõpsul. Korduv klõps
inputile ei tohiks põhjustada reaktsiooni.
Antud on numbritega lõigud. Lõigule klõpsates peab selles ilmuma selles oleva arvu ruut, kuid ainult esimesel klõpsul. Topeltklõpsul lõigul peab arv lõigus kahekordistuma, kuid samuti ainult esimest korda.
Antud on lõigud. Tehke nii, et esimesel
klõpsul lõigule lisatakse selle lõppu '!',
kuid ainult esimesel klõpsul.