Metoden triggerHandler
Metoden triggerHandler tillader at starte
alle event handlers knyttet til et element. Den
virker på samme måde som metoden
trigger,
men der er forskelle mellem dem:
Event handlere vil blive udløst, men standard
eventet vil ikke blive kaldt. For eksempel
triggerHandler('submit'),
vil, når den udløses, ikke kalde submit.
Metoden triggerHandler virker
kun på det første element i sættet.
Events startet med triggerHandler
bobler ikke op i DOM-elementernes hierarki.
triggerHandler returnerer ikke et jQuery-objekt,
den returnerer den værdi, der modtages fra den sidst
kaldte event handler. Hvis ingen event handlere bliver
udløst, returneres undefined.
Syntaks
Som første parameter kan vi sende en eventtype som en streng, den anden valgfri som en matrix eller et objekt, der indeholder yderligere parametre til at sende videre til event handleren:
$(selector).triggerHandler(eventtype, [yderligere parametre]);
Det er muligt at sende et event
som et objekt jQuery.Event som første parameter:
$(selector).trigger(event, [yderligere parametre]);
Eksempel
Lad os gøre det sådan, at når der klikkes på knappen
med #test1, vil vores input få fokus og
konsollen vil udskrive 'Focused', med andre
ord - både event handler-funktionen og
fokus-eventet vil blive udløst. Når der klikkes på den anden knap
med #test2, vil kun event handler-funktionen blive udløst,
men inputfeltet vil ikke få 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')
});