Die triggerHandler-metode
Die metode triggerHandler laat toe om
alle gebeurtenishanteerders wat aan 'n element gekoppel is, te aktiveer. Dit
werk soortgelyk aan die metode
trigger,
maar daar is verskille tussen hulle:
Die gebeurtenishanteerder sal aktiveer, maar die standaard
gebeurtenis sal nie geaktiveer word nie. Byvoorbeeld,
triggerHandler('submit'),
sal, wanneer dit aktiveer, nie submit aktiveer nie.
Die metode triggerHandler werk
slegs op die eerste element in die stel.
Gebeure wat deur triggerHandler geaktiveer word,
borrel nie op in die DOM-element hiërargie nie.
triggerHandler gee nie 'n jQuery-voorwerp terug nie,
dit gee die waarde terug wat deur die laaste
geaktiveerde hanteerder verkry is. As geen hanteerders
geaktiveer word nie, dan gee dit undefined terug.
Sintaksis
As eerste parameter kan ons die tipe gebeurtenis as 'n string oordra, die tweede opsioneel is 'n skikking of voorwerp wat addisionele parameters bevat om aan die hanteerder oor te dra:
$(selekteerder).triggerHandler(gebeurtenistipe, [addisionele parameters]);
Die eerste parameter kan 'n gebeurtenis wees
in die vorm van 'n jQuery.Event-voorwerp:
$(selekteerder).trigger(gebeurtenis, [addisionele parameters]);
Voorbeeld
Kom ons maak dit so dat wanneer op die knoppie
met #test1 gedruk word,
ons inset fokus sal kry en in
die konsole sal 'Focused' vertoon word, met ander
woorde - beide die hanteerderfunksie en die
fokusgebeurtenis sal aktiveer. Wanneer op die tweede knoppie
met #test2 gedruk word, sal slegs die hanteerderfunksie aktiveer,
maar die inset sal nie fokus kry nie:
<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')
});