Метод 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')
});