triggerHandler усули
triggerHandler усули элементга
богланган барча вокеалар ишловчиларини ишга тушириш
имконини беради. Бу усул
trigger
усулига ўхшаш ишлейди, аммо уларнинг ўртасида фарқлар мавжуд:
Вокеа ишловчиси ишга тушади, лекин стандарт
вокеа ишга тушмайди. Масалан
triggerHandler('submit')
ишга тушиши билан submit ни ишга туширмайди.
triggerHandler усули фақат
топшириқдаги биринчи элементга таъсир килади.
triggerHandler томонидан ишга туширилган вокеалар
DOM элементлари иерархиясида кўтарилмайди.
triggerHandler jQuery объектини қайтармайди,
у охирги чақирилган ишловчи томонидан олинган қийматни қайтаради. Агар ҳеч қандай ишловчи ишга тушмаса, у ҳолда undefined қайтади.
Синтаксис
Биринчи параметр сифатида биз сатр кўринишида вокеа турини бериш мумкин, иккинчи ихтиёрий параметр сифатида қўшимча параметрларни ўз ичига олган массив ёки объектни бериш мумкин, улар ишловчига ўтказилади:
$(селектор).triggerHandler(вокеа тури, [қўшимча параметрлар]);
Биринчи параметр сифатида вокеани
jQuery.Event объекти сифатида бериш мумкин:
$(селектор).trigger(вокеа, [қўшимча параметрлар]);
Мисол
Курайлик, #test1 белгиси бор тугмани босганда
бизнинг киритиш майдонимиз фокусни олсин ва
консольга 'Focused' чиқарилсин, бошқа
сўзлар билан айтганда - ишловчи-функция ҳам ишга тушади ҳамда
фокус вокеаси ҳам ишга тушади. Иккинчи тугмани босганда
#test2 белгиси билан фақат ишловчи-функция ишга тушади,
лекин киритиш майдони фокусни олмайди:
<button id="test1">button1</button>
<button id="test2">button2</button>
<input type="text">
$('#test1').click(function() {
$('input').trigger('focus');
});
$('#test2').click(function() {
$('input').triggerHandler('focus');
});
$('input').focus(function() {
console.log('Focused')
});