Event-objektet
Objektet event genereres, når en begivenhed
udløses og indeholder information om den. Når begivenheden
opstår, overføres objektet event til
behandlerfunktionen.
Egenskaber og metoder for event-objektet
Nedenfor i tabellen er egenskaber og metoder for
objektet event og deres beskrivelse angivet:
| Navn | Beskrivelse |
|---|---|
event.currentTarget |
Den aktuelle DOM-element på boblestadiet af begivenheden. Normalt
er denne egenskab ækvivalent med this i funktionen.
|
event.data |
Valgfri parameter. Objekt med data, der overføres til begivenhedsmetoden, når den udførende handler vedhæftes. |
event.delegateTarget |
Elementet, som den netop kaldte jQuery-begivenhedshandler
var vedhæftet til. Denne egenskab er mest nyttig
i delegerede begivenheder, hvor handleren er bundet til en
forfader til det håndterede element. For ikke-delegerede
handlere, der er bundet direkte til elementet,
svarer værdien af event.delegateTarget til
værdien af event.currentTarget.
|
event.isDefaultPrevented |
Metoden kontrollerer, om metoden
event.preventDefault
er blevet kaldt for dette begivenhedsobjekt.
|
event.isImmediatePropagationStopped |
Metoden kontrollerer, om metoden
event.stopImmediatePropagation
er blevet kaldt for dette begivenhedsobjekt.
|
event.isPropagationStopped |
Metoden kontrollerer, om metoden
event.stopPropagation
er blevet kaldt for dette begivenhedsobjekt.
|
event.isPropagationStopped |
Metoden kontrollerer, om metoden
event.stopPropagation
er blevet kaldt for dette begivenhedsobjekt.
|
event.metaKey |
Metoden kontrollerer, om tasten
META blev trykket ned på tidspunktet for begivenhedens
udløsning. Afhængigt af platformen kan tasten
være forskellig. Returnerer true eller
false.
|
event.namespace |
Navnerummet, der blev angivet på tidspunktet for begivenhedskaldet. Denne egenskab vil vise sig at være nyttig for plugin-forfattere, hvis opgaver afhænger af det anvendte navnerum. |
event.pageX |
Viser musens position i forhold til documentets venstre kant. |
event.pageY |
Viser musens position i forhold til documentets øverste kant. |
event.preventDefault |
Hvis denne metode kaldes, vil standardhandlingen
for denne begivenhed ikke blive udført. For eksempel vil et klik på et link
ikke føre til en overgang til en ny URL. For
at kontrollere, om denne metode er blevet kaldt,
kan metoden event.isDefaultPrevented bruges.
|
event.relatedTarget |
Returnerer et andet DOM-element, der deltager
i begivenheden, hvis sådan et findes. For
mouseout viser det, hvilket
element musen er holdt over, for mouseover
fra hvilket element musemarkøren blev fjernet.
|
event.result |
Den sidste værdi, som handleren for den udløste begivenhed
returnerede, som ikke er lig med
undefined. Egenskaben kan være nyttig
for at få værdier fra egne begivenheder.
|
event.stopImmediatePropagation |
Annullerer arbejdet for alle resterende begivenhedshandlere
knyttet til elementet og forhindrer
boblen af begivenheden opad i DOM-træet. For
blot at forhindre begivenheden i at boble op til
forfaderelementer, men tillade andre
begivenhedshandlere at arbejde, kan metoden
event.stopPropagation bruges. Brug metoden
event.isImmediatePropagationStopped for at
kontrollere, om event.stopImmediatePropagation er blevet kaldt for dette
begivenhedsobjekt.
|
event.stopPropagation |
Forhindrer boblen af begivenheden opad i DOM-træet.
Husk, at andre handlere
fortsætter med at arbejde for dette element. Denne
metode virker for egne begivenheder, der er udløst
ved hjælp af metoden
trigger.
For at kontrollere, om denne metode er blevet kaldt,
bruges event.isPropagationStopped.
|
event.target |
DOM-elementet, der startede begivenheden. Dette kan
være elementet registreret for begivenheden eller
dets afkom. Det er meget nyttigt at sammenligne
event.target og this for at bestemme
boblen af begivenheden. Egenskaben er nyttig ved delegering af
begivenheder, når begivenheder bobbler op.
|
event.timeStamp |
Tidsforskellen i millisekunder mellem
øjeblikket, hvor begivenheden blev oprettet af browseren, og
1. januar 1970. Egenskaben kan være
nyttig til at bestemme ydeevnen for en
begivenhed ved at få forskellen i værdierne for
event.timeStamp for to tidspunkter
i koden. Hvis du blot ønsker at
få den aktuelle tid inde i en begivenhedshandler,
skal du bruge metoden
getTime.
|
event.type |
I denne egenskab er begivenhedstypen angivet. |
event.which |
Denne egenskab angiver, hvilken tast på
tastaturet eller musen der blev trykket. For mus:
1 - venstre knap, 2 - hjul,
3 - højre knap. Brug
event.which i stedet for event.button.
|
Andre egenskaber for event-objektet
Der er også andre egenskaber, der 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 at få adgang til egenskaber, der ikke er opført ovenfor,
kan objektet event.originalEvent bruges.
Eksempel
Lad os udskrive i en div - hvilke taster der blev trykket:
<input id="test" value="skriv noget">
<div id="text"></div>
$('#test').on('keydown', function(event) {
$('#text').html(event.type + ": " + event.which);
});
Eksempel
Lad os udskrive i en div - på hvilken tag vi klikker:
<body>
<div id="text"></div>
<div>
<p>
<strong><span>klik</span></strong>
</p>
</div>
</body>
span, strong, p {
display: block;
padding: 10px;
border: 1px solid black;
}
$('body').click(function(event) {
$('#text').html('klikket på: ' + event.target.nodeName);
});
Se også
-
metoden
on,
som giver mulighed for at binde en begivenhedshandler til et element -
metoden
trigger,
som giver mulighed for at starte alle begivenhedshandlere, der er bundet til elementet for begivenheder af den angivne type -
metoden
triggerHandler,
som giver mulighed for at starte alle begivenhedshandlere, der er bundet til elementet - jQuery-begivenheder