jQuery-de ýeke-täk waka

off metody arkaly wakanyň baglanyşygyny aýyrmagy öwrenenimizde, aşakdaky konstruksiýany ulandyk:

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

Ilki bilen, on arkaly funksiýa-işleýji baglaýarys, soňra bolsa off arkaly aýyraýarys.

jQuery-de amatly one metody bar, bu ýeke-täk wakany baglamaga mümkinçilik berýär - ol diňe bir gezek işleýär, soňra bolsa awtomatiki aýrylýar. Bu metod birinci parametr hökmünde wakanyň görnüşini kabul edýär, ikinjisi bolsa baglanýan funksiýadyr.

Aşakdaky HTML kody esasynda indiki mysaly seredeliň:

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

CSS kody şeýle görünýär:

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

Indi her bir li ýeke-täk waka bilen baglaýarys:

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

Sanawdaky bölekleriň üstüne basyp görüň. Görşüňiz ýaly, one metodyna güýmen, şol bir täsiri aldyk.

Задание 1

Hemme çykgytlara wakany baglaň - çykgyt üstüne getirilende, onuň tekstiniň ahyryna onuň href-i ýumurt şekilli ýaýlaryň içine goşulmaly. Çykgyt üstüne ilkinji gezek getirilenden soň, ona href-i tekstiň ahyryna goşýan wakany aýyrmaly.

Задание 2

Hemme inputlar üçin şeýle ediň, şonda olar value-laryny çykarsynlar, ýöne diňe ilkinji gezek basylanda. Inputa ikinji gezek basmak jogap bermeli däl.

Задание 3

Sanlar bilen abzaslar berlen. Abzasa basylsa, ol öz içinde saklaýan sanyň kwadraty peýda bolmaly, ýöne diňe ilkinji gezek basylanda. Abzasa goşa basylanda, abzasdaky sanyň iki esse köpelmeli, ýöne hem-de diňe ilkinji gezek.

Задание 4

Abzaslar berlen. Abzasa ilkinji gezek basylanda, onuň ahyryna '!' goşulmaly, ýöne diňe ilkinji gezek basylanda.