Metoda triggerHandler
Metoda triggerHandler permite declanșarea
tuturor handlerelor de evenimente atașate elementului. Ea
funcționează similar cu metoda
trigger,
dar există diferențe între ele:
Handlerul de evenimente se va activa, dar evenimentul
standard nu va fi declanșat. De exemplu
triggerHandler('submit'),
după activare, nu va declanșa submit.
Metoda triggerHandler acționează
doar asupra primului element din set.
Evenimentele declanșate de triggerHandler
nu se propagă în ierarhia elementelor DOM.
triggerHandler nu returnează un obiect jQuery,
ci returnează valoarea obținută de ultimul
handler apelat. Dacă niciun handler nu este
activAT, atunci returnează undefined.
Sintaxă
Ca prim parametru putem transmite tipul evenimentului sub formă de șir, al doilea parametru opțional este un array sau obiect care conține parametri suplimentari pentru transmiterea către handler:
$(selector).triggerHandler(tipul evenimentului, [parametri suplimentari]);
Se poate transmite ca prim parametru un eveniment
sub formă de obiect jQuery.Event:
$(selector).trigger(eveniment, [parametri suplimentari]);
Exemplu
Să facem astfel încât la click pe butonul
cu #test1 inputul nostru să primească focus și în
consolă să se afișeze 'Focused', cu alte
cuvinte - se va activa atât funcția-handler cât și
evenimentul de focus. La click pe al doilea buton
cu #test2 se va activa doar funcția-handler,
dar inputul nu va primi 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')
});