Metoda triggerHandler
Metoda triggerHandler umožňuje spustit
všechny obslužné funkce událostí připojené k prvku. Funguje
analogicky k metodě
trigger,
ale mezi nimi existují rozdíly:
Obslužná funkce události se spustí, ale standardní
událost nebude vyvolána. Například
triggerHandler('submit'),
po spuštění nevyvolá submit.
Metoda triggerHandler působí
pouze na první prvek v sadě.
Události spuštěné pomocí triggerHandler
neprobublávají v hierarchii DOM prvků.
triggerHandler nevrací objekt jQuery,
vrací hodnotu získanou z poslední
zavolané obslužné funkce. Pokud se nespustí žádné obslužné funkce,
vrací undefined.
Syntaxe
Jako první parametr můžeme předat typ události ve formě řetězce, druhým volitelným polem nebo objektem obsahujícím dodatečné parametry pro předání obslužné funkci:
$(selektor).triggerHandler(typ události, [dodatečné parametry]);
Jako první parametr lze předat událost
ve formě objektu jQuery.Event:
$(selektor).trigger(událost, [dodatečné parametry]);
Příklad
Pojďme zařídit, aby při kliknutí na tlačítko
s #test1 naše vstupní pole získalo focus a
do konzole se vypsalo 'Focused', jinými
slovy - spustí se jak funkce-obslužná funkce, tak
událost focus. Při kliknutí na druhé tlačítko
s #test2 se spustí pouze funkce-obslužná funkce,
ale vstupní pole nezíská focus:
<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')
});