Усули triggerHandler
Усули triggerHandler имкон медиҳад, ки
ҳамаи коргузорони ҳодисаҳо, ки ба элемент пайваст шудаанд, оғоз карда шаванд. Он
ба монанди усули
trigger кор мекунад,
вале байни онҳо фарқҳо мавҷуданд:
Коргузори ҳодисаҳо фаъол мешавад, аммо ҳодисаи
стандартӣ даъват намешавад. Масалан
triggerHandler('submit'),
фаъол шуда, submit-ро даъват намекунад.
Усули triggerHandler танҳо
ба элементҳои якуми маҷмӯъ таъсир мерасонад.
Ҳодисаҳое, ки тавассути triggerHandler оғоз шудаанд
дар иерархияи элементҳои DOM паҳн намешаванд.
triggerHandler чизеро бармегардонад, ки охирин
коргузори фаъолшуда қиматашро дода бошад. Агар ягон коргузор фаъол нашавад,
пас undefined бармегардонад.
Синтаксис
Ҳамчун параметри якум, мо метавонем навъи ҳодисаро ҳамчун сатр бифиристем, параметри дуюми ихтиёрӣ массив ё объект, ки дорои параметрҳои иловагӣ барои расонидан ба коргузор мебошад:
$(селектор).triggerHandler(навъи ҳодиса, [параметрҳои иловагӣ]);
Метавонад параметри якум ҳодисаро
ҳамчун объекти jQuery.Event бифиристад:
$(селектор).trigger(ҳодиса, [параметрҳои иловагӣ]);
Намуна
Биёед, чунин кунем, ки ҳангоми фишурдани тугмаи
#test1 воридкунии мо диққат (фокус) гирад ва дар
консоли 'Focused' чоп шавад, ба ибораи дигар -
ҳам функсияи коргузор ва
ҳам ҳодисаи диққат (фокус) фаъол шаванд. Ҳангоми фишурдани тугмаи дуюми
#test2 танҳо функсияи коргузор фаъол мешавад,
вале воридкунӣ диққат (фокус) намегирад:
<button id="test1">тугмаи 1</button>
<button id="test2">тугмаи 2</button>
<input type="text">
$('#test1').click(function() {
$('input').trigger('focus');
});
$('#test2').click(function() {
$('input').triggerHandler('focus');
});
$('input').focus(function() {
console.log('Диққат гирифта шуд')
});