Ühekordne sündmus jQuery-s

Kui me õppisime sündmuste lahtiseotamist kasutades meetodit off, kasutasime me järgmist konstruktsiooni:

javascript$('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:

html<ul>
  <li>text</li>
  <li>text</li>
  <li>text</li>
</ul>

CSS kood näeb välja selline:

cssli {
  width: 100px;
  cursor: pointer;
}

Nüüd kinnitame igale li-le ühekordse sündmuse:

javascript$('li').one('click', function() {
  $(this).append('!');
});

Klõpsake loendi punktidel. Nagu näete, saime sama efekti tänu meetodile one.

Задание 1

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.

Задание 2

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.

Задание 3

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.

Задание 4

Antud on lõigud. Tehke nii, et esimesel klõpsul lõigule lisatakse selle lõppu '!', kuid ainult esimesel klõpsul.