Методи 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);