one методу
one методу элементке иш-чараны иштетүүчүнү
кошууга мүмкүндүк берет. Иш-чара бир жолу иштеп чыккандан
кийин - иштетүүчү автоматтык түрдө өчүрүлөт.
Синтаксиси
Биз ушул жол менен элементке иш-чараны иштетүүчүнү тиркеп,
биринчи параметр катары сап түрүндө бир же бир нече иш-чара
боштук менен бөлүнүп берилет, экинчиси - JavaScript объектиси
түрүндө берилген маалыматтарды берип, алар иш-чара иштеп чыкканда
event.data касиетинде иштетүүчүгө берилет. Экинчи параметр
милдеттүү эмес. Үчүнчүсү иш-чара объектиси берилген функция-иштетүүчүнү
беребиз же false беребиз:
$(селектор).one(иш-чаралар, [маалыматтар], функция-иштетүүчү(иш-чара объектиси));
Экинчи параметр катары элементдин ичиндеги тукумдарынын
кошумча фильтрлөөчү селекторду бере алабыз,
үчүнчүсү - иш-чара иштеп чыкканда иштетүүчүгө
event.data касиетинде берилген кошумча маалыматтар.
Экинчи жана үчүнчү параметрлер
милдеттүү эмес. Төртүнчүсү
иш-чара объектиси жана милдеттүү эмес кошумча параметрлер берилген
функция-иштетүүчүнү беребиз. Эгерде
функция-иштетүүчүнүн ордуна false берсек, анда функция жөн гана
false кайтарат:
$(селектор).one(иш-чаралар, [селектор], [маалыматтар], функция-иштетүүчү(иш-чара объектиси));
one методу менен башка жол менен пайдалана алабыз,
анда биринчи параметр катары
JavaScript объектиси берилет, мында ачкычтар - иш-чаранын түрү, ал эми
маанилери - биз элементке кошкон функция-иштетүүчү:
$(селектор).one({'иш-чара түрү': handler}, [селектор], [маалыматтар]);
Эгерде биз кошумча селекторду бербесек, анда иш-чара биз иштетүүчүнү тиркеген элементте иштейт, башка учурда - бул селекторго дал келген тукум элементте иштейт (делегацияланган иш-чаралар).
Мисал
Абзацга чыкылдаганда, биз one методуна берген маалыматтарды
чыгаралы. Кийинки чыкылдатууларда эч нерсе болбойт. Биз түзгөн
функция-иштетүүчү testFunc колдонолу:
<p>чыкылда</p>
function testFunc(event) {
alert(event.data.text);
}
$('p').one('click', {text: 'aaa' }, testFunc);