Metod triggerHandler
Metod triggerHandler omogućava pokretanje
svih rukovaoca događaja, pridruženih elementu. On
radi analogno metodu
trigger,
ali između njih postoje razlike:
Rukovalac događaja će se aktivirati, ali standardni
dogadjaj neće biti pozvan. Na primer
triggerHandler('submit'),
aktiviravši se, neće pozvati submit.
Metod triggerHandler deluje
samo na prvi element u setu.
Događaji, pokrenuti triggerHandler
ne propagiraju u hijerarhiji DOM elementata.
triggerHandler ne vraća jQuery objekat,
on vraća vrednost, dobijenu poslednjim
pozvanim rukovaocem. Ako se nikakvi rukovaoci ne
pokreću, onda vraća undefined.
Sintaksa
Kao prvi parametar možemo proslijediti tip događaja u vidu stringa, drugim opcionim nizom ili objektom, koji sadrži dodatne parametre za proslijeđivanje rukovalcu:
$(selektor).triggerHandler(tip događaja, [dodatni parametri]);
Možemo prvim parametrom proslijediti događaj
u vidu objekta jQuery.Event:
$(selektor).trigger(dogadjaj, [dodatni parametri]);
Primjer
Hajde da napravimo tako da prilikom klika na dugme
sa #test1 naš input dobije fokus i u
konzoli se ispiše 'Focused', drugim
riječima - aktiviraće se i funkcija-rukovalac i
događaj fokusa. Prilikom klika na drugo dugme
sa #test2 aktiviraće se samo funkcija-rukovalac,
ali input neće dobiti 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')
});