Metodas triggerHandler
Metodas triggerHandler leidžia paleisti
visas elemento priskirtas įvykių tvarkykles. Jis
veikia analogiškai metodui
trigger,
bet tarp jų yra skirtumų:
Įvykio tvarkyklė suveiks, bet standartinis
įvykis nebus iškviestas. Pavyzdžiui,
triggerHandler('submit'),
suveikdamas, neiškviestų submit.
Metodas triggerHandler veikia
tik pirmąjį elementą rinkinyje.
Įvykiai, paleisti triggerHandler,
neplinta DOM elementų hierarchija.
triggerHandler negrąžina jQuery objekto,
jis grąžina reikšmę, gautą iš paskutinės
iškviestos tvarkyklės. Jei jokios tvarkyklės nebuvo
paleistos, grąžinama undefined.
Sintaksė
Kaip pirmąjį parametrą galime perduoti įvykio tipą eilutės pavidalu, antruoju neprivalomu - masyvą arba objektą, kuriame yra papildomi parametrai, perduodami tvarkyklei:
$(selektorius).triggerHandler(įvykio tipas, [papildomi parametrai]);
Galima pirmuoju parametru perduoti įvykį
objekto jQuery.Event pavidalu:
$(selektorius).trigger(įvykis, [papildomi parametrai]);
Pavyzdys
Padarykime taip, kad paspaudus mygtuką
su #test1 mūsų įvesties laukas gautų fokusą ir
konsolėje būtų išvesta 'Focused', kitais
žodžiais tariant - suveiktų ir funkcija-tvarkyklė, ir
fokuso įvykis. Paspaudus antrojo mygtuko
su #test2 suveiks tik funkcija-tvarkyklė,
bet įvesties laukas negaugs fokuso:
<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')
});