Event-objektet
Objektet event genereres når en hendelse
utløses og inneholder informasjon om den. Når en
hendelse oppstår, overføres objektet event til
behandlingsfunksjonen.
Egenskaper og metoder for event-objektet
Nedenfor i tabellen er egenskapene og metodene
for objektet event og deres beskrivelse angitt:
| Navn | Beskrivelse |
|---|---|
event.currentTarget |
Gjeldende DOM-element under boblefasen av hendelsen. Vanligvis
er denne egenskapen ekvivalent med this i funksjonen.
|
event.data |
Valgfri parameter. Dataobjektet som overføres til hendelsesmetoden når den utførende behandleren festes. |
event.delegateTarget |
Elementet som den nettopp aktiverte jQuery-hendelsesbehandleren
var festet til. Denne egenskapen er mest nyttig i
delegerte hendelser, der behandleren er bundet til en
forfedre til det behandlede elementet. For ikke-delegerte
behandlere bundet direkte til elementet,
vil verdien av event.delegateTarget samsvare
med verdien av event.currentTarget.
|
event.isDefaultPrevented |
Metoden sjekker om metoden
event.preventDefault
ble kalt for dette hendelsesobjektet.
|
event.isImmediatePropagationStopped |
Metoden sjekker om metoden
event.stopImmediatePropagation
ble kalt for dette hendelsesobjektet.
|
event.isPropagationStopped |
Metoden sjekker om metoden
event.stopPropagation
ble kalt for dette hendelsesobjektet.
|
event.isPropagationStopped |
Metoden sjekker om metoden
event.stopPropagation
ble kalt for dette hendelsesobjektet.
|
event.metaKey |
Metoden sjekker om tastaturet
META var trykket ned på tidspunktet for hendelsens
utløsning. Avhengig av plattformen kan tasten
være forskjellig. Returnerer true eller
false.
|
event.namespace |
Navneområdet som ble angitt på tidspunktet for hendelsesutløsingen. Denne egenskapen vil vise seg nyttig for plugin-forfattere, hvis oppgaver avhenger av det brukte navneområdet. |
event.pageX |
Viser musens posisjon i forhold til venstre kant av dokumentet. |
event.pageY |
Viser musens posisjon i forhold til øverste kant av dokumentet. |
event.preventDefault |
Hvis denne metoden kalles, vil standardhandlingen
for denne hendelsen ikke bli
utført. For eksempel vil et klikk på en lenke
ikke føre til en overgang til en ny URL. For
å sjekke om denne metoden ble kalt, kan du bruke metoden
event.isDefaultPrevented.
|
event.relatedTarget |
Returnerer et annet DOM-element som deltar
i hendelsen, hvis noe slikt finnes. For
mouseout viser det hvilket
element musen er over, for mouseover
hvilket element musepekeren ble flyttet fra.
|
event.result |
Siste verdi som ble returnert av behandleren
for den utløste hendelsen, som ikke er lik
undefined. Egenskapen kan være nyttig
for å hente verdier fra egendefinerte hendelser.
|
event.stopImmediatePropagation |
Kansellerer arbeidet til alle gjenværende hendelsesbehandlere
knyttet til elementet og forhindrer
hendelsen i å boble oppover i DOM-treet. For å
bare forhindre hendelsen i å boble opp til
forfedre-elementer, men tillate andre
hendelsesbehandlere å fungere, kan du bruke metoden
event.stopPropagation. Bruk metoden
event.isImmediatePropagationStopped for å
sjekke om
event.stopImmediatePropagation ble kalt for dette
hendelsesobjektet.
|
event.stopPropagation |
Forhindrer hendelsen i å boble oppover i DOM-
treet. Husk at andre behandlere
vil fortsette å fungere for dette elementet. Denne
metoden fungerer for egendefinerte hendelser, utløst
ved hjelp av metoden
trigger.
For å sjekke om denne metoden ble kalt,
bruk event.isPropagationStopped.
|
event.target |
DOM-elementet som initierte hendelsen. Dette kan
være et element registrert for hendelsen eller
detets avkom. Det er veldig nyttig å sammenligne
event.target og this for å bestemme
boblingen av hendelsen. Egenskapen er nyttig ved delegering av
hendelser, når hendelser bubler.
|
event.timeStamp |
Tidsforskjell i millisekunder mellom
øyeblikket hendelsen ble opprettet av nettleseren og
1. januar 1970. Egenskapen kan være
nyttig for å bestemme ytelsen til en
hendelse ved å få forskjellen i verdier
event.timeStamp for to tidspunkter
i koden. Hvis du bare vil
få gjeldende tid inne i en hendelsesbehandler,
bruk metoden
getTime.
|
event.type |
I denne egenskapen er hendelsestypen angitt. |
event.which |
Denne egenskapen angir hvilken tast
på tastaturet eller musen som ble trykket. For mus:
1 - venstre knapp, 2 - hjul,
3 - høyre knapp. Bruk
event.which i stedet for event.button.
|
Andre egenskaper for event-objektet
Det er også andre egenskaper som kopieres
til objektet event:
altKey, button, buttons, cancelable,
char, charCode, clientX, clientY,
ctrlKey, detail, eventPhase, key,
keyCode, offsetX, offsetY, originalTarget,
screenX, screenY, shiftKey,
toElement, view.
For å få tilgang til egenskaper som ikke er listet opp ovenfor,
kan du bruke objektet event.originalEvent.
Eksempel
La oss skrive ut i en div - hvilke taster som ble trykket:
<input id="test" value="skriv noe">
<div id="text"></div>
$('#test').on('keydown', function(event) {
$('#text').html(event.type + ": " + event.which);
});
Eksempel
La oss skrive ut i en div - hvilken tagg vi klikker på:
<body>
<div id="text"></div>
<div>
<p>
<strong><span>klikk</span></strong>
</p>
</div>
</body>
span, strong, p {
display: block;
padding: 10px;
border: 1px solid black;
}
$('body').click(function(event) {
$('#text').html('klikket: ' + event.target.nodeName);
});
Se også
-
metoden
on,
som lar deg feste en hendelsesbehandler til et element -
metoden
trigger,
som lar deg kjøre alle hendelsesbehandlere, festet til elementet for hendelser av angitt type -
metoden
triggerHandler,
som lar deg kjøre alle hendelsesbehandlere, festet til elementet - jQuery-hendelser