triggerHandler-metodi

triggerHandler-metodi mahdollistaa kaikkien elementtiin liitettyjen tapahtumankäsittelijöiden käynnistämisen. Se toimii samankaltaisesti kuin trigger-metodi, mutta niiden välillä on eroja: Tapahtumankäsittelijä laukeaa, mutta vakio tapahtumaa ei kutsuta. Esimerkiksi triggerHandler('submit'), laukaisee, mutta ei kutsu submit-tapahtumaa. triggerHandler-metodi vaikuttaa vain ensimmäiseen elementtiin joukossa. triggerHandler:n käynnistämät tapahtumat eivät kuplaile DOM-elementtien hierarkiassa. triggerHandler ei palauta jQuery-oliota, vaan se palauttaa viimeksi kutsutun käsittelijän saaman arvon. Jos mitään käsittelijöitä ei kutsuta, se palauttaa undefined:n.

Syntaksi

Ensimmäisenä parametrina voimme siirtää tapahtumatyyppin merkkijonona, toisena valinnaisena taulukon tai objektin, joka sisältää lisäparametreja käsittelijälle siirrettäväksi:

javascript$(valitsin).triggerHandler(tapahtumatyyppi, [lisäparametrit]);

Voit siirtää ensimmäisenä parametrina tapahtuman jQuery.Event-objektin muodossa:

javascript$(valitsin).trigger(tapahtuma, [lisäparametrit]);

Esimerkki

Tehdään niin, että kun painetaan painiketta jossa on #test1, syötekenttämme saa kohdistuksen ja konsoliin tulostuu 'Focused', toisin sanoen - sekä käsittelijäfunktio että kohdistustapahtuma laukeavat. Kun painetaan toista painiketta jossa on #test2, laukeaa vain käsittelijäfunktio, mutta syötekenttä ei saa kohdistusta:

html<button id="test1">button1</button>
<button id="test2">button2</button>
<input type="text">
javascript$('#test1').click(function() {
  $('input').trigger('focus');
});

$('#test2').click(function() {
  $('input').triggerHandler('focus');
});

$('input').focus(function() {
  console.log('Focused')
});

Katso myös

  • metodi trigger,
    joka mahdollistaa kaikkien tapahtumankäsittelijöiden käynnistämisen, elementtiin liitettyinä tietyntyyppisille tapahtumille
  • metodi on,
    joka mahdollistaa tapahtumankäsittelijän liittämisen elementtiin