Metoda triggerHandler
Metoda triggerHandler omogoča zagon
vseh obdelovalcev dogodkov, povezanih z elementom. Deluje
analogno metodi
trigger,
vendar med njima obstajajo razlike:
Obdelovalec dogodkov se bo sprožil, vendar standardnega
dogodka ne bo. Na primer
triggerHandler('submit'),
se bo sprožil, vendar ne bo povzročil submit.
Metoda triggerHandler deluje
le na prvi element v nizu.
Dogodki, sproženi z triggerHandler
ne bubble-ajo (ne širijo se navzgor) v hierarhiji DOM-elementov.
triggerHandler ne vrne objekta jQuery,
vrne vrednost, ki jo je dobil zadnji
poklicani obdelovalec. Če se noben obdelovalec ne
sproži, vrne undefined.
Sintaksa
Kot prvi parameter lahko podamo tip dogodka v obliki niza, drugi opcijski parameter je lahko polje ali objekt, ki vsebuje dodatne parametre za posredovanie obdelovalcu:
$(selektor).triggerHandler(tip dogodka, [dodatni parametri]);
Kot prvi parameter lahko podamo dogodek
v obliki objekta jQuery.Event:
$(selektor).trigger(dogodek, [dodatni parametri]);
Primer
Naredimo tako, da bo ob kliku na gumb
z #test1 naš vnosno polje dobilo fokus in v
konzolo se bo izpisal 'Focused', z drugimi
besedami - sprožila se bo tako funkcija-obdelovalec kot
dogodek fokusa. Ob kliku na drugi gumb
z #test2 se bo sprožila le funkcija-obdelovalec,
vendar vnosno polje ne bo dobilo fokusa:
<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')
});