Vienreizējs notikums jQuery

Kad mēs pētījām notikumu atvienošanu ar metodes off palīdzību, mēs izmantojām šādu konstrukciju:

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

Vispirms mēs pievienojām apstrādes funkciju ar on palīdzību, tad atvienojām ar off palīdzību.

jQuery ir ērta metode one, kas ļauj piesaistīt vienreizēju notikumu - tas izpildīsies tikai vienu reizi, un pēc tam automātiski atvienosies. Šī metode pirmo parametru pieņem kā notikuma veidu, un otro - piesaistīto funkciju.

Nākamo piemēru mēs apskatīsim, balstoties uz zemāk redzamo HTML kodu:

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

CSS kods izskatās šādi:

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

Tagad pie katras li piesaistām vienreizēju notikumu:

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

Noklikšķiniet uz saraksta punktiem. Kā redzat, mēs ieguvām tādu pašu efektu, pateicoties metodei one.

Задание 1

Piesaistiet visām saitēm notikumu - kad uzvedat kursoru virs saites, beigās tās tekstam pievienojiet tās href apaļās iekavās. Pēc pirmās reizes, kad kursors ir novadīts virs saites, no tās ir jāatvieno notikums, kas pievieno href teksta beigās.

Задание 2

Visiem ievades laukiem izveidojiet tā, lai tie izvadītu savu value, kad tiek noklikšķināts uz jebkura no tiem, bet tikai pirmo reizi. Atkārtota noklikšķināšana uz ievades lauka nedrīkst izraisīt reakciju.

Задание 3

Doti rindkopas ar skaitļiem. Noklikšķinot uz rindkopas, tajā jāparādās skaitļa kvadrāts, kuru tā satur, bet tikai pirmajā noklikšķinājumā. Veicot dubultklikšķi uz rindkopas, skaitlim rindkopā jāpalielinās divas reizes, bet arī tikai pirmo reizi.

Задание 4

Doti rindkopas. Izveidojiet tā, lai pirmajā noklikšķinājumā uz rindkopas tās beigās tiktu pievienots '!', bet tikai pirmajā noklikšķinājumā.