triggerHandler usuli
triggerHandler usuli elementga bog'langan
barcha hodisalar qayta ishlovchilarini ishga tushirish imkonini beradi. U
trigger
usuliga o'xshash ishlaydi,
lekin ular o'rtasida farqlar mavjud:
Hodisalar qayta ishlovchisi ishlaydi, lekin standart
hodisa ishga tushmaydi. Masalan
triggerHandler('submit'),
ishlaydi, lekin submit ni ishga tushirmaydi.
triggerHandler usuli faqat
to'plamdagi birinchi elementga ta'sir qiladi.
triggerHandler tomonidan ishga tushirilgan hodisalar
DOM elementlari ierarxiyasida ko'tarilmaydi.
triggerHandler jQuery ob'ektini qaytarmaydi,
u oxirgi chaqirilgan qayta ishlovchi tomonidan olingan qiymatni qaytaradi. Agar hech qanday qayta ishlovchilar ishlamasa, undefined qaytaradi.
Sintaksis
Birinchi parametr sifatida biz hodisa turini satr shaklida, ikkinchi ixtiyoriy parametr sifatida qo'shimcha parametrlarni o'z ichiga olgan massiv yoki ob'ektni, ularni qayta ishlovchiga uzatish uchun berishimiz mumkin:
$(selector).triggerHandler(hodisa turi, [qo'shimcha parametrlar]);
Birinchi parametr sifatida jQuery.Event
ob'ekti shaklida hodisani uzatish mumkin:
$(selector).trigger(hodisa, [qo'shimcha parametrlar]);
Misol
Keling, #test1 bilan belgilangan tugmani bosganda
bizning input fokuslansin va
konsolda 'Focused' chiqsin, boshqacha
qilib aytganda - ham funksiya-qayta ishlovchi, ham
fokus hodisasi ishlasin. #test2 bilan belgilangan ikkinchi tugmani bosganda
faqat funksiya-qayta ishlovchi ishlaydi,
lekin input fokuslanmaydi:
<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')
});