Metodi on
Metodi on mahdollistaa tapahtumankäsittelijän
lisäämisen elementtiin. Poistaaksesi käsittelijän
voit käyttää metodia
off,
jotta tapahtuma laukeaa vain kerran, minkä jälkeen
käsittelijä poistaa itsensä - käytä metodia
one.
Elementit, joihin liitämme käsittelijän, täytyy
olla olemassa on-kutsun yhteydessä.
Syntaksi
Näin lisäämme tapahtumankäsittelijän elementtiin,
ensimmäisenä parametrina merkkijonona välitetään
yksi tai useampi tapahtuma välilyönneillä erotettuna, toisena
parametrina välitämme lisäsuodatinselektorin
elementin jälkeläisille, kolmantena - lisätiedot,
jotka välitetään käsittelijälle ominaisuuteen
event.data
tapahtuman lauettua. Toinen ja kolmas parametri
eivät ole pakollisia. Neljäntenä välitämme käsittelijäfunktion,
jolle välitetään tapahtumaolio ja valinnaiset
lisäparametrit. Jos käsittelijäfunktion sijaan
välitetään false, funktio palauttaa vain false:
$(selektori).on(tapahtumat, [selektori], [tiedot], käsittelijäfunktio(tapahtumaolio, [lisäparametrit]));
Voit käyttää metodia on toisella tavalla,
jolloin ensimmäisenä parametrina välitetään
JavaScript-olio, jossa avaimet ovat tapahtumatyyppi ja
arvot ovat käsittelijäfunktiot, joita kutsutaan
tapahtumille:
$(selektori).on({'tapahtumatyyppi': käsittelijä}, [selektori], [tiedot]);
Jos emme välitä lisäselektoria, tapahtuma laukeaa elementillä, johon kiinnitämme käsittelijän, muussa tapauksessa - jälkeläiselementillä, joka vastaa tätä selektoria (delegoidut tapahtumat). Sama tapahtumankäsittelijä voi olla liitettynä elementtiin useita kertoja.
Esimerkki
Esitetään alert-ikkunassa
kappaleen teksti, jolla on #test, kun
sitä klikataan, muiden kappaleiden klikkaukset eivät
johda mihinkään:
<p>teksti1</p>
<p id="test">teksti2</p>
<p>teksti3</p>
$('#test').on('click', function() {
alert( $(this).text() );
});
Esimerkki
Klikatessa kappaletta näytetään tiedot, jotka
olitimme metodille on. Käytetään
käsittelijäfunktiota testFunc,
jonka loimme:
<p>klikkaa</p>
function testFunc(event) {
alert(event.data.text);
}
$('p').on('click', {text: 'aaa'}, testFunc);
Katso myös
-
metodi
off,
joka mahdollistaa tapahtumankäsittelijän poistamisen elementistä -
metodi
one,
joka mahdollistaa tapahtuman laukeamisen kerran, minkä jälkeen käsittelijä poistetaan automaattisesti -
olio
event,
joka sisältää tietoa tapahtumasta -
metodi
trigger,
joka mahdollistaa kaikkien tapahtumankäsittelijöiden käynnistämisen, joita on liitetty elementtiin annetun tyyppisille tapahtumille -
JavaScript-metodi
bind,
joka mahdollistaa kontekstin sitomisen funktioon