Event-objekti
event-objekti luodaan, kun tapahtuma laukeaa
ja se sisältää siitä tiedot. Kun tapahtuma ilmenee,
event-objekti välitetään
käsittelijäfunktiolle.
Event-objektin ominaisuudet ja menetelmät
Alla olevassa taulukossa on lueteltu
event-objektin ominaisuudet ja menetelmät
sekä niiden kuvaus:
| Nimi | Kuvaus |
|---|---|
event.currentTarget |
Nykyinen DOM-elementti tapahtuman kuplintavaiheessa. Yleensä
tämä ominaisuus vastaa funktion this-arvoa.
|
event.data |
Valinnainen parametri. Datatietoja sisältävä objekti, joka välitetään tapahtumamenetelmälle suoritettavan käsittelijän liittämisen yhteydessä. |
event.delegateTarget |
Elementti, johon juuri kutsuttu jQuery-tapahtumankäsittelijä
on liitetty. Tämä ominaisuus on hyödyllisin delegoiduissa
tapahtumissa, joissa käsittelijä on sidottu käsiteltävän
elementin esi-elementtiin. Ei-delegoiduille käsittelijöille,
joita on sidottu suoraan elementtiin,
event.delegateTarget-arvo vastaa
event.currentTarget-arvoa.
|
event.isDefaultPrevented |
Menetelmä tarkistaa, onko menetelmää
event.preventDefault
kutsuttu tälle tapahtumaobjektille.
|
event.isImmediatePropagationStopped |
Menetelmä tarkistaa, onko menetelmää
event.stopImmediatePropagation
kutsuttu tälle tapahtumaobjektille.
|
event.isPropagationStopped |
Menetelmä tarkistaa, onko menetelmää
event.stopPropagation
kutsuttu tälle tapahtumaobjektille.
|
event.isPropagationStopped |
Menetelmä tarkistaa, onko menetelmää
event.stopPropagation
kutsuttu tälle tapahtumaobjektille.
|
event.metaKey |
Menetelmä tarkistaa, oliko
META-nappula painettuna
tapahtuman laukeamishetkellä. Nappula
voi vaihdella alustasta riippuen. Palauttaa true tai
false.
|
event.namespace |
Nimiavaruus, joka on määritelty tapahtuman kutsun yhteydessä. Tämä ominaisuus on hyötyä laajennusten tekijöille, joiden tehtävät riippuvat käytetystä nimiavaruudesta. |
event.pageX |
Näyttää hiiren sijainnin asiakirjan vasempaan reunaan nähden. |
event.pageY |
Näyttää hiiren sijainnin asiakirjan yläreunaan nähden. |
event.preventDefault |
Jos tätä menetelmää kutsutaan, tapahtuman
oletustoimintoa ei suoriteta. Esimerkiksi linkin
napsautus ei johda siirtymiseen uuteen URL-osoitteeseen.
Voit tarkistaa, onko tätä menetelmää kutsuttu
menetelmällä event.isDefaultPrevented.
|
event.relatedTarget |
Palauttaa toisen DOM-elementin, joka osallistuu
tapahtumaan, jos sellainen on olemassa.
mouseout-tapahtumassa näyttää mihin
elementtiin hiiri on kohdistettu, mouseover-tapahtumassa
mistä elementistä hiiren kursori on siirretty pois.
|
event.result |
Viimeisin käsitteljän palauttama arvo
laukaisseelle tapahtumalle, joka ei ole
undefined. Ominaisuus voi olla hyödyllinen
omaisten tapahtumien arvojen saamiseksi.
|
event.stopImmediatePropagation |
Peruuttaa kaikkien muiden tapahtumakäsittelijöiden
toiminnan, jotka liittyvät elementtiin, ja estää
tapahtuman kuplimisen ylöspäin DOM-puussa. Jos haluat
estää tapahtuman kuplimisen esi-elementteihin, mutta sallia muiden
tapahtumakäsittelijöiden toiminnan, voit käyttää menetelmää
event.stopPropagation. Käytä menetelmää
event.isImmediatePropagationStopped
tarkistaaksesi, onko
event.stopImmediatePropagation kutsuttu tälle
tapahtumaobjektille.
|
event.stopPropagation |
Estää tapahtuman kuplimisen ylöspäin DOM-puussa.
Muista, että muut käsittelijät
jatkavat toimintaansa tälle elementille. Tämä
menetelmä toimii omille tapahtumille, jotka on käynnistetty
menetelmällä
trigger.
Tarkistaaksesi, onko tätä menetelmää kutsuttu,
käytä event.isPropagationStopped.
|
event.target |
DOM-elementti, joka käynnisti tapahtuman. Tämä voi olla
tapahtumaan rekisteröity elementti tai
sen jälkeläinen. On erittäin hyödyllistä verrata
event.target ja this määrittääksesi
tapahtuman kuplimisen. Ominaisuus on hyödyllinen tapahtuman delegoinnissa,
kun tapahtumat kuplivat.
|
event.timeStamp |
Aikaero millisekunteina
silmukoiden välillä, jolloin tapahtuma luotiin selaimessa ja
1. tammikuuta 1970. Ominaisuus voi olla
hyödyllinen määritettäessä tapahtuman suorituskykyä
saamalla ero
event.timeStamp-arvojen välillä kahdelle ajanhetkelle
koodissa. Jos haluat vain
saada nykyisen ajan tapahtumankäsittelijän sisällä, käytä menetelmää
getTime.
|
event.type |
Tässä ominaisuudessa on määritelty tapahtuman tyyppi. |
event.which |
Tämä ominaisuus ilmaisee, mitä näppäintä
näppäimistöstä tai hiirtä painettiin. Hiirelle:
1 - vasen painike, 2 - rulla,
3 - oikea painike. Käytä
event.which event.button:n sijaan.
|
Muut event-objektin ominaisuudet
On olemassa muitakin ominaisuuksia, jotka kopioidaan
event-objektiin:
altKey, button, buttons, cancelable,
char, charCode, clientX, clientY,
ctrlKey, detail, eventPhase, key,
keyCode, offsetX, offsetY, originalTarget,
screenX, screenY, shiftKey,
toElement, view.
Päästäksesi käsiksi yllä luettelemattomiin ominaisuuksiin,
voit käyttää objektia event.originalEvent.
Esimerkki
Näytetään div-elementissä - mitä näppäimiä on painettu:
<input id="test" value="type something">
<div id="text"></div>
$('#test').on('keydown', function(event) {
$('#text').html(event.type + ": " + event.which);
});
Esimerkki
Näytetään div-elementissä - mihin tagiin klikkaamme:
<body>
<div id="text"></div>
<div>
<p>
<strong><span>click</span></strong>
</p>
</div>
</body>
span, strong, p {
display: block;
padding: 10px;
border: 1px solid black;
}
$('body').click(function(event) {
$('#text').html('clicked: ' + event.target.nodeName);
});
Katso myös
-
menetelmä
on,
joka mahdollistaa tapahtumankäsittelijän sitomisen elementtiin -
menetelmä
trigger,
joka mahdollistaa kaikkien tapahtumankäsittelijöiden käynnistämisen, joita on sidottu elementtiin tietyntyyppisille tapahtumille -
menetelmä
triggerHandler,
joka mahdollistaa kaikkien tapahtumankäsittelijöiden käynnistämisen, joita on sidottu elementtiin - jQuery-tapahtumat