Metoda triggerHandler
Metoda triggerHandler lejon të ekzekutohen
të gjithë përpunuesit e ngjarjeve të lidhura me elementin. Ajo
funksionon në mënyrë të ngjashme me metodën
trigger,
por midis tyre ka dallime:
Përpunuesi i ngjarjeve do të aktivizohet, por ngjarja standarde
nuk do të shkaktohet. Për shembull
triggerHandler('submit'),
pasi të aktivizohet, nuk do të shkaktojë submit.
Metoda triggerHandler vepron
vetëm në elementin e parë në grup.
Ngjarjet, të nisura nga triggerHandler
nuk përhapen në hierarkinë e elementeve DOM.
triggerHandler nuk kthen një objekt jQuery,
ajo kthen vlerën, të marrë nga përpunuesi i fundit
i thirrur. Nëse asnjë përpunues nuk
aktivizohet, atëherë kthen undefined.
Sintaksa
Si parametër i parë ne mund të kalojmë llojin e ngjarjes në formë të vargut, si të dytin opsional një array ose objekt, që përmban parametra shtesë për t'u kaluar përpunuesit:
$(selector).triggerHandler(lloji i ngjarjes, [parametra shtesë]);
Mund të kaloni si parametër të parë ngjarjen
në formën e objektit jQuery.Event:
$(selector).trigger(ngjarja, [parametra shtesë]);
Shembull
Le ta bëjmë që kur klikohet butoni
me #test1 inputi ynë të marrë fokus dhe
në konsol të shfaqet 'Focused', me fjalë
të tjera - të aktivizohet edhe funksioni-përpunues edhe
ngjarja e fokusit. Kur klikohet butoni i dytë
me #test2 do të aktivizohet vetëm funksioni-përpunues,
por inputi nuk do të marrë fokus:
<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')
});