Tukio la Mara Moja katika jQuery
Tulipokuwa tukijifunza kufutua matukio kwa
kutumia njia
off,
tulitumia muundo ufuatao:
$('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:
<ul>
<li>maandishi</li>
<li>maandishi</li>
<li>maandishi</li>
</ul>
Msimbo wa CSS unaonekana hivi:
li {
width: 100px;
cursor: pointer;
}
Sasa kwa kila li tafungia
tukio la mara moja:
$('li').one('click', function() {
$(this).append('!');
});
Bofya vitu vya orodha.
Kama unavyoona, tulipata athari ile ile, shukrani
kwa njia one.
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.
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.
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.
Kuna aya. Fanya ili kwa kubofya kwa mara ya kwanza
kwenye aya mwisho wake waongezwe '!',
lakini kwa kubofya kwa mara ya kwanza tu.