one နည်းလမ်း
one နည်းလမ်းသည် element ပေါ်တွင် event handler
များထည့်သွင်းရန် ခွင့်ပြုသည်။ event တစ်ကြိမ်
အလုပ်လုပ်ပြီးနောက် - handler သည်
အလိုအလျောက် ဖယ်ရှားခံရပါမည်။
Syntax
ဤနည်းဖြင့် ကျွန်ုပ်တို့သည် event handler များကို element ပေါ်သို့ ချိတ်ဆက်သည်၊
ပထမပါရာမီတာအဖြစ် string ပုံစံဖြင့်
event တစ်ခု သို့မဟုတ် အာကာသဖြင့် ခွဲထားသော event များစွာ
ပေးပို့သည်၊ ဒုတိယအနေဖြင့် - JavaScript object ပုံစံဖြင့် data များကို ပေးပို့သည်၊
ထို data များသည် event အလုပ်လုပ်သည့်အခါ
event.data property အတွင်းသို့ handler သို့ ပေးပို့သည်။ ဒုတိယပါရာမီတာ
မဖြစ်မနေထည့်ရန် မလိုအပ်ပါ။ တတိယအနေဖြင့် handler function ကို ပေးပို့သည်၊
ထည့်သွင်းထားသော event object ကို သို့မဟုတ် false ကို ပေးပို့သည်။
$(selector).one(events, [data], handlerFunction(eventObject));
ဒုတိယပါရာမီတာအဖြင့် element အတွင်းရှိ
အဆင့်ဆက်ငယ် element များအား စစ်ထုတ်ရန် အပိုစီလက်တာ တစ်ခုကို ပေးပို့နိုင်သည်၊
တတိယအနေဖြင့် - event အလုပ်လုပ်သည့်အခါ
event.data property အတွင်းသို့ handler သို့ ပေးပို့သည့် အပို data များ။ ဒုတိယနှင့် တတိယပါရာမီတာများ
မဖြစ်မနေထည့်ရန် မလိုအပ်ပါ။ စတုတ္ထအနေဖြင့်
handler function ကို ပေးပို့သည်၊ ထည့်သွင်းထားသော event object
နှင့် မဖြစ်မနေထည့်ရန်မလိုအပ်သော အပိုပါရာမီတာများ။ အကယ်၍
handler function အစား false ကို ပေးပို့ပါက၊ function သည်
false ကိုသာ ပြန်ပေးပါမည်။
$(selector).one(events, [selector], [data], handlerFunction(eventObject));
one နည်းလမ်းကို အခြားနည်းဖြင့် အသုံးပြုနိုင်သည်၊
ထိုအခါ ပထမပါရာမီတာအဖြင့်
JavaScript object ကို ပေးပို့သည်၊ ထို object တွင် key များသည် event type ဖြစ်ပြီး
value များသည် - ကျွန်ုပ်တို့ element သို့ ထည့်သွင်းခဲ့သော handler function ဖြစ်သည်။
$(selector).one({'event type': handler}, [selector], [data]);
ကျွန်ုပ်တို့သည် အပိုစီလက်တာ မပေးပို့ပါက၊ event သည် ကျွန်ုပ်တို့ handler ချိတ်ဆက်ထားသော element ပေါ်တွင် အလုပ်လုပ်ပါသည်၊ သို့မဟုတ်ပါက - ထို selector နှင့် ကိုက်ညီသော အဆင့်ဆက်ငယ် element (delegated events) ပေါ်တွင် အလုပ်လုပ်ပါသည်။
ဥပမာ
စာပိုဒ်ကို ကလစ်နှိပ်လိုက်သောအခါ ကျွန်ုပ်တို့
one နည်းလမ်းသို့ ပေးပို့ခဲ့သော data များကို ထုတ်ပြပါစို့။
နောက်ထပ် ကလစ်နှိပ်မှုများတွင်
ဘာမှဖြစ်မလာတော့ပါ။ ကျွန်ုပ်တို့ဖန်တီးထားသော
handler function testFunc ကို
အသုံးပြုပါမည်။
<p>click</p>
function testFunc(event) {
alert(event.data.text);
}
$('p').one('click', {text: 'aaa' }, testFunc);