Методи on
Методи on имкон медиҳад, ки коркарди
рӯйдодҳоро ба элемент илова кунед. Барои тоза кардани коркар
методи
off-ро истифода бурдан мумкин аст,
то рӯйдод фақат як бор кор кунад, ва баъд аз он
коркар худро тоза кунад - методи
one-ро истифода баред.
Элементҳое, ки ба онҳо коркар мепайвандем, бояд
дар вақти даъвати on вуҷуд дошта бошанд.
Синтаксис
Ҳамин тавр мо коркарди рӯйдодҳоро ба элемент илова мекунем,
дар ҳолати параметри якум дар шакли сатр як ё чанд рӯйдод,
ки бо фосила ҷудо шудаанд, фиристода мешавад,
параметри дуюм як селектори филтркунандаи иловагии
фарзандҳои дохили элементро мефиристад, параметри сеюм - маълумоти иловагӣ,
ки ба коркар дар хосияти
event.data
дар вақти рӯйдод фиристода мешавад. Параметрҳои дуюм ва сеюм
ихтиёрӣ мебошанд. Параметри чорум функсияи коркарро мефиристад,
ки ба он объекти рӯйдод ва параметрҳои иловагии ихтиёрӣ фиристода мешавад.
Агар ба ҷои функсияи коркар
false фиристед, пас функсия фақат false бармегардонад:
$(селектор).on(рӯйдодҳо, [селектор], [маълумот], функсияи-коркар(объекти рӯйдод, [параметрҳои иловагӣ]));
Методи on-ро ба таври дигар истифода бурдан мумкин аст,
дар ин ҳолат ба параметри якум
объекти JavaScript фиристода мешавад, ки калидҳо - навъи рӯйдод, ва
қиматҳо - функсияҳои коркар мебошанд, ки барои рӯйдодҳо даъват карда мешаванд:
$(селектор).on({'навъи рӯйдод': handler}, [селектор], [маълумот]);
Агар мо селектори иловагӣ нафиристем, он гоҳ рӯйдод дар элементе кор мекунад, ки ба он мо коркарро мепайвандем, дар акси ҳол - дар элементи-фарзанд, ки ба ин селектор мувофиқат мекунад (рӯйдодҳои вакилӣ). Ҳамон коркари рӯйдод метавонад якчанд маротиба ба элемент пайваст карда шавад.
Намуна
Биёед дар alert,
матни абзасро бо #test нишон диҳем, вақте ки
ба он клик карда мешавад, клик кардан ба абзасҳои дигар ба чизе
намеояд:
<p>матн1</p>
<p id="test">матн2</p>
<p>матн3</p>
$('#test').on('click', function() {
alert( $(this).text() );
});
Намуна
Биёед вақте ки ба абзас клик карда мешавад, маълумотеро, ки
мо ба методи on фиристодем, чоп кунем. Аз
функсияи коркар testFunc истифода барем,
ки мо сохтем:
<p>клик</p>
function testFunc(event) {
alert(event.data.text);
}
$('p').on('click', {text: 'aaa'}, testFunc);
Инчунин бинед
-
методи
off,
ки имкон медиҳад, ки коркари рӯйдодҳоро аз элемент тоза кунед -
методи
one,
ки имкон медиҳад, ки рӯйдод як бор кор кунад, ва баъд аз он коркарро ба таври худкор тоза кунад -
объекти
event,
ки дар бораи рӯйдод маълумот дорад -
методи
trigger,
ки имкон медиҳад, ки ҳамаи коркарҳои рӯйдодҳоро, ба элементи барои рӯйдодҳои навъи додашуда пайвастшударо оғоз кунад -
Методи JavaScript
bind,
ки имкон медиҳад, ки контекстро ба функсия пайваст кунад