Njia one
Njia one inaruhusu kuongeza kikabiliaji
tukio kwa kipengele. Baada ya tukio
kutekelezwa kwa mara moja - kikabiliaji kitakuwa
kimefutwa kiotomatiki.
Syntax
Hivi ndivyo tunavyoweka kikabiliaji tukio kwa kipengele,
kama parameta ya kwanza kwa mfumo wa mnyororo
hupitishwa tukio moja au matukio kadhaa yaliyotenganishwa
na nafasi, ya pili - hupitisha data kwa mfumo wa kitu cha JavaScript,
ambazo hupitishwa kwa kikabiliaji katika sifa
event.data wakati tukio linapotekelezwa. Parameta ya pili
sio ya lazima. Ya tatu hupitisha kitendakazi-kikabiliaji,
ambayo hupitishwa kitu cha tukio au hupitisha false:
$(kichaguzi).one(tukio, [data], kitendakazi-kikabiliaji(kitu cha tukio));
Inawezekana kwa parameta ya pili kupitisha kichaguzi
cha ziada cha kuchuja matawi ndani ya kipengele,
ya tatu - data ya ziada, ambayo hupitishwa
kwa kikabiliaji katika sifa event.data wakati
tukio linapotekelezwa. Parameta za pili na ya tatu
sio za lazima. Ya nne hupitisha
kitendakazi-kikabiliaji, ambayo hupitishwa kitu cha tukio
na parameta za ziada zisizo za lazima. Ibadiliko ya
kitendakazi-kikabiliaji kupitisha false, basi kitendakazi tu
kitarudisha false:
$(kichaguzi).one(tukio, [kichaguzi], [data], kitendakazi-kikabiliaji(kitu cha tukio));
Inawezekana kutumia njia one kwa njia tofauti,
basi kwenye parameta ya kwanza hupitishwa
kitu cha JavaScript, ambapo funguo - ni aina ya tukio, na
maadili - ni kitendakazi-kikabiliaji, ambayo tuliiongeza kwa
kipengele:
$(kichaguzi).one({'aina ya tukio': handler}, [kichaguzi], [data]);
Ikiwa hatupitishi kichaguzi cha ziada, basi tukio linateketea kwenye kipengele, ambacho sisi tunakiweka kikabiliaji, vinginevyo - kwenye kipengele-kizazi, ambacho kinakubaliana na kichaguzi hicho (matukio yaliyopeanwa wajibu).
Mfano
Wacha tuweke kwa kubofya kwenye aya tuonyeshe data, ambayo
tulipitisha kwa njia one. Kwa kubofya baadaye
hakuna kitakachotokea. Tutatumia
kitendakazi-kikabiliaji testFunc,
ambayo tuliitengeneza:
<p>bofya</p>
function testFunc(event) {
alert(event.data.text);
}
$('p').one('click', {text: 'aaa' }, testFunc);