Meetod triggerHandler
Meetod triggerHandler võimaldab käivitada
kõik elemendiga seotud sündmuste töötlejad. See
töötab sarnaselt meetodiga
trigger,
kuid nende vahel on erinevusi:
Sündmuste töötleja käivitub, kuid standardset
sündmust ei teki. Näiteks
triggerHandler('submit'),
käivitub, kuid ei põhjusta submit.
Meetod triggerHandler toimib
ainult esimesel elemendil komplektis.
Sündmused, mida käivitab triggerHandler
ei levi DOM-elementide hierarhias.
triggerHandler ei tagasta jQuery objekti,
see tagastab väärtuse, mille sai viimaseks
käivitatud töötleja. Kui ühtegi töötlejat ei
käivitata, siis tagastab undefined.
Süntaks
Esimese parameetrina saame edastada sündmuse tüübi stringina, teise valikulise massiivi või objekti, mis sisaldab täiendavaid parameetreid edastamiseks töötlejale:
$(selektor).triggerHandler(sündmuse tüüp, [täiendavad parameetrid]);
Esimese parameetrina saab edastada sündmuse
objektina jQuery.Event:
$(selektor).trigger(sündmus, [täiendavad parameetrid]);
Näide
Teeme nii, et nupule vajutamisel
#test1 saab meie input fookuse ja
konsooli logitakse 'Focused', teiste
sõnadega - käivitub nii funktsioon-töötleja kui ka
fookuse sündmus. Teise nupu vajutamisel
#test2 käivitub ainult funktsioon-töötleja,
kuid input ei saa fookust:
<button id="test1">nupp1</button>
<button id="test2">nupp2</button>
<input type="text">
$('#test1').click(function() {
$('input').trigger('focus');
});
$('#test2').click(function() {
$('input').triggerHandler('focus');
});
$('input').focus(function() {
console.log('Focused')
});