Event-objektet
Objektet event genereras när en händelse
utlöses och innehåller information om den. När en
händelse inträffar skickas objektet event till
hanteringsfunktionen.
Egenskaper och metoder för event-objektet
Nedan i tabellen anges egenskaperna och metoderna
för objektet event och deras beskrivning:
| Namn | Beskrivning |
|---|---|
event.currentTarget |
Aktuella DOM-elementet under händelsens bubbling-fas. Vanligtvis
är denna egenskap ekvivalent med this i funktionen.
|
event.data |
Valfri parameter. Dataobjekt som skickas till händelsemetoden när den utförande hanteraren bifogas. |
event.delegateTarget |
Elementet som den nyligen anropade jQuery-händelsehanteraren
var bifogad till. Denna egenskap är mest användbar
i delegerade händelser när hanteraren är bunden till
en förfader till det hanterade elementet. För icke-delegerade
hanterare som är bundna direkt till elementet,
motsvarar värdet event.delegateTarget
värdet event.currentTarget.
|
event.isDefaultPrevented |
Metoden kontrollerar om metoden
event.preventDefault
har anropats för detta händelseobjekt.
|
event.isImmediatePropagationStopped |
Metoden kontrollerar om metoden
event.stopImmediatePropagation
har anropats för detta händelseobjekt.
|
event.isPropagationStopped |
Metoden kontrollerar om metoden
event.stopPropagation
har anropats för detta händelseobjekt.
|
event.isPropagationStopped |
Metoden kontrollerar om metoden
event.stopPropagation
har anropats för detta händelseobjekt.
|
event.metaKey |
Metoden kontrollerar om tangenten
META var nedtryckt vid tidpunkten för händelseutlösandet.
Beroende på plattform kan tangenten
skilja sig åt. Returnerar true eller
false.
|
event.namespace |
Namnrymden som angavs när händelsen anropades. Denna egenskap kan vara användbar för plugin-författare vars uppgifter beror på den använda namnrymden. |
event.pageX |
Visar musens position i förhållande till dokumentets vänstra kant. |
event.pageY |
Visar musens position i förhållande till dokumentets övre kant. |
event.preventDefault |
Om denna metod anropas kommer standardåtgärden för
denna händelse inte att utföras. Till exempel kommer ett klick på en länk
inte att leda till en övergång till en ny URL. För
att kontrollera om denna metod har anropats kan metoden
event.isDefaultPrevented användas.
|
event.relatedTarget |
Returnerar ett annat DOM-element som deltar
i händelsen, om sådant finns. För
mouseout visar vilket element musen är över, för mouseover
från vilket element muspekaren fördes bort.
|
event.result |
Det senaste värdet som returnerades av hanteraren
för den utlösta händelsen, som inte är lika med
undefined. Egenskapen kan vara användbar
för att få värden från egna händelser.
|
event.stopImmediatePropagation |
Avbryter arbetet för alla återstående händelsehanterare
associerade med elementet och förhindrar
att händelsen bubblar upp i DOM-trädet. För att
bara förhindra att händelsen bubblar till
förfaderelement, men tillåta andra händelsehanterare att fungera, kan metoden
event.stopPropagation användas. Använd metoden
event.isImmediatePropagationStopped för att
kontrollera om event.stopImmediatePropagation har anropats för detta
händelseobjekt.
|
event.stopPropagation |
Förhindrar att händelsen bubblar uppåt i DOM-trädet.
Kom ihåg att andra hanterare kommer att fortsätta att fungera för detta element. Denna
metod fungerar för egna händelser som utlöses
med metoden
trigger.
För att kontrollera om denna metod har anropats,
använd event.isPropagationStopped.
|
event.target |
DOM-elementet som initierade händelsen. Detta kan
vara ett element registrerat för händelsen eller
dess avkomling. Det är mycket användbart att jämföra
event.target och this för att fastställa
bubbling av händelsen. Egenskapen är användbar vid delegering av
händelser, när händelser bubblar.
|
event.timeStamp |
Tidsskillnad i millisekunder mellan
ögonblicken när händelsen skapades av webbläsaren och
1 januari 1970. Egenskapen kan vara
användbar för att bestämma prestanda för en
händelse genom att få skillnaden i värden för
event.timeStamp vid två tidpunkter
i koden. Om du bara vill få
den aktuella tiden inuti en händelsehanterare, använd metoden
getTime.
|
event.type |
I denna egenskap anges händelsetypen. |
event.which |
Denna egenskap indikerar vilken tangent
på tangentbordet eller musen som trycktes ned. För mus:
1 - vänster knapp, 2 - scrollhjul,
3 - höger knapp. Använd
event.which istället för event.button.
|
Andra egenskaper för event-objektet
Det finns andra egenskaper som kopieras
till objektet event:
altKey, button, buttons, cancelable,
char, charCode, clientX, clientY,
ctrlKey, detail, eventPhase, key,
keyCode, offsetX, offsetY, originalTarget,
screenX, screenY, shiftKey,
toElement, view.
För att komma åt egenskaper som inte listas ovan
kan objektet event.originalEvent användas.
Exempel
Låt oss skriva ut i en div - vilka tangenter som har tryckts ned:
<input id="test" value="skriv något">
<div id="text"></div>
$('#test').on('keydown', function(event) {
$('#text').html(event.type + ": " + event.which);
});
Exempel
Låt oss skriva ut i en div - på vilken tagg vi klickar:
<body>
<div id="text"></div>
<div>
<p>
<strong><span>klicka</span></strong>
</p>
</div>
</body>
span, strong, p {
display: block;
padding: 10px;
border: 1px solid black;
}
$('body').click(function(event) {
$('#text').html('klickade: ' + event.target.nodeName);
});
Se även
-
metoden
on,
som gör det möjligt att binda en händelsehanterare till ett element -
metoden
trigger,
som gör det möjligt att starta alla händelsehanterare bundna till ett element för händelser av en given typ -
metoden
triggerHandler,
som gör det möjligt att starta alla händelsehanterare bundna till ett element - jQuery-händelser