Tukio la Mara Moja katika jQuery

Tulipokuwa tukijifunza kufutua matukio kwa kutumia njia off, tulitumia muundo ufuatao:

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

Kwanza tulikabidhi kichakazi-kitendaji kwa kutumia on, kisha tukafutua kwa kutumia off.

Katika jQuery kuna njia rahisi one, ambayo inaruhusu kufungia tukio la mara moja - litatendeka mara moja tu, kisha lifutike kiotomatiki. Njia hii inapokea aina ya tukio kama parameta ya kwanza, na ya pili - kitendakazi kilichofungwa.

Mfano ufuatao tutauchukua kwa msingi wa msimbo wa HTML ulio hapa chini:

html<ul>
  <li>maandishi</li>
  <li>maandishi</li>
  <li>maandishi</li>
</ul>

Msimbo wa CSS unaonekana hivi:

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

Sasa kwa kila li tafungia tukio la mara moja:

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

Bofya vitu vya orodha. Kama unavyoona, tulipata athari ile ile, shukrani kwa njia one.

Задание 1

Fungia viungo vyote tukio - kiashiria kinapoelekezwa kwenye kiungo mwisho wa maandishi yake yaandikwe href yake kwenye mabano ya mviringo. Baada ya kuelekezwa kwa mara ya kwanza kwenye kiungo tafutue tukio lililofungwa, ambalo linaongeza href mwishoni mwa maandishi.

Задание 2

Kwa vipokezi vyote (input) fanya ili vitoe value yao kwa kubofya kwenye kipokezi chochote, lakini kwa kubofya kwa mara ya kwanza tu. Kubofya tena kwenye kipokezi hakipaswi kusababisha mwitikio.

Задание 3

Kuna aya zenye nambari. Kwa kubofya kwenye aya ndani yake ipaswe kuonekana mraba wa nambari iliyomo, lakini kwa kubofya kwa mara ya kwanza tu. Kwa kubofya mara mbili kwenye aya nambari kwenye aya ipaswe kuongezeka mara dufu, lakini pia kwa mara ya kwanza tu.

Задание 4

Kuna aya. Fanya ili kwa kubofya kwa mara ya kwanza kwenye aya mwisho wake waongezwe '!', lakini kwa kubofya kwa mara ya kwanza tu.