Metode triggerHandler
Metode triggerHandler ļauj izsaukt
visas elementam piesaistītās notikumu apstrādes funkcijas. Tā
strādā līdzīgi kā metode
trigger,
bet starp tām pastāv atšķirības:
Notikuma apstrādes funkcija tiks izsaukta, bet standarta
notikums netiks izraisīts. Piemēram,
triggerHandler('submit'),
izpildoties, neizraisīs submit.
Metode triggerHandler iedarbojas
tikai uz pirmo elementu kopā.
Notikumi, ko izraisa triggerHandler
necēlās DOM elementu hierarhijā.
triggerHandler neatgriež jQuery objektu,
tā atgriež vērtību, ko saņēmusi pēdējā
izsauktā apstrādes funkcija. Ja neviena apstrādes funkcija netiek
izsaukta, tad atgriež undefined.
Sintakse
Kā pirmo parametru mēs varam padot notikuma veidu virknes veidā, otro neobligāti masīvu vai objektu, kas satur papildu parametrus, lai nodotu apstrādes funkcijai:
$(selektors).triggerHandler(notikuma veids, [papildu parametri]);
Var kā pirmo parametru padot notikumu
objekta jQuery.Event veidā:
$(selektors).trigger(notikums, [papildu parametri]);
Piemērs
Izveidosim tā, lai, nospiežot pogu
ar #test1, mūsu ievades lauks iegūtu fokusu un
konsolē izvadītos 'Focused', citiem
vārdiem - izpildītos gan funkcija-apstrādes funkcija, gan
fokusa notikums. Nospiežot otro pogu
ar #test2, izpildīsies tikai funkcija-apstrādes funkcija,
bet ievades lauks neiegūs fokusu:
<button id="test1">poga1</button>
<button id="test2">poga2</button>
<input type="text">
$('#test1').click(function() {
$('input').trigger('focus');
});
$('#test2').click(function() {
$('input').triggerHandler('focus');
});
$('input').focus(function() {
console.log('Focused')
});