Event objekts
Objekts event tiek ģenerēts, kad notiek notikums,
un satur par to informāciju. Kad parādās notikums,
objekts event tiek nodots funkcijai-apstrādātājai.
Event objekta īpašības un metodes
Zemāk tabulā norādītas objekta event
īpašības un metodes un to apraksts:
| Nosaukums | Apraksts |
|---|---|
event.currentTarget |
Pašreizējais DOM elements notikuma izplatīšanās stadijā. Parasti
šī īpašība ir ekvivalenta this funkcijai.
|
event.data |
Neobligāts parametrs. Datu objekts, kas tiek nodots notikuma metodei, pievienojot izpildāmo apstrādātāju. |
event.delegateTarget |
Elements, kuram tika pievienots tikko izsauktais
jQuery notikuma apstrādātājs. Šī īpašība ir visnoderīgākā
deleģētajos notikumos, kad apstrādātājs ir piesaistīts
apstrādājamā elementa priekštečam. Nedeleģētajiem
apstrādātājiem, kas tieši piesaistīti elementam,
event.delegateTarget vērtība atbilst
event.currentTarget vērtībai.
|
event.isDefaultPrevented |
Metode pārbauda, vai šim notikuma objektam ir izsaukta
event.preventDefault metode.
|
event.isImmediatePropagationStopped |
Metode pārbauda, vai šim notikuma objektam ir izsaukta
event.stopImmediatePropagation metode.
|
event.isPropagationStopped |
Metode pārbauda, vai šim notikuma objektam ir izsaukta
event.stopPropagation metode.
|
event.isPropagationStopped |
Metode pārbauda, vai šim notikuma objektam ir izsaukta
event.stopPropagation metode.
|
event.metaKey |
Metode pārbauda, vai notikuma iestāšanās brīdī ir nospiesta
META taustiņš. Atkarībā no platformas taustiņš
var atšķirties. Atgriež true vai
false.
|
event.namespace |
Notikuma izsaukšanas brīdī norādītā nosaukumvieta. Šī īpašība var būt noderīga spraudņu autoriem, kuru uzdevumi ir atkarīgi no izmantotās nosaukumvietas. |
event.pageX |
Rāda peles pozīciju attiecībā pret dokumenta kreiso malu. |
event.pageY |
Rāda peles pozīciju attiecībā pret dokumenta augšējo malu. |
event.preventDefault |
Ja šī metode ir izsaukta, tad notikuma
noklusējuma darbība netiks izpildīta. Piemēram, klikšķis uz saites
neizraisīs pāreju uz jaunu URL. Lai
pārbaudītu, vai šī metode ir izsaukta,
var izmantot metodi
event.isDefaultPrevented.
|
event.relatedTarget |
Atgriež citu DOM elementu, kas piedalās
notikumā, ja tāds ir. Priekš
mouseout rāda, uz kuru
elementu ir novirzīta peles, priekš mouseover
no kura elementa peles kursors tika novirzīts.
|
event.result |
Pēdējā vērtība, ko atgrieza izpildītā notikuma
apstrādātājs, kas nav vienāda ar
undefined. Šī īpašība var būt noderīga
lai iegūtu pašu notikumu vērtības.
|
event.stopImmediatePropagation |
Atceļ visu atlikušo notikumu apstrādātāju
darbību, kas saistīti ar elementu, un novērš
notikuma izplatīšanos augšup pa DOM koku. Lai
vienkārši aizliegtu notikumam izplatīties līdz
priekšteču elementiem, bet atļautu citu notikumu
apstrādātāju darbību, var izmantot metodi
event.stopPropagation. Izmantojiet metodi
event.isImmediatePropagationStopped, lai
pārbaudītu, vai šim notikuma objektam ir izsaukta
event.stopImmediatePropagation.
|
event.stopPropagation |
Novērš notikuma izplatīšanos augšup pa DOM
koku. Atcerieties, ka citi apstrādātāji
turpinās darboties šim elementam. Šī
metode darbojas pašu notikumiem, kas izsaukti
ar metodes
trigger palīdzību.
Lai pārbaudītu, vai šī metode ir izsaukta,
izmanto event.isPropagationStopped.
|
event.target |
DOM elements, kas iniciēja notikumu. Tas var
būt elements, kas reģistrēts notikumam, vai
tā pēctecis. Ir ļoti noderīgi salīdzināt
event.target un this, lai noteiktu
notikuma izplatīšanos. Šī īpašība ir noderīga, deleģējot
notikumu, kad notikumi izplatās.
|
event.timeStamp |
Laika starpība milisekundēs starp
pārlūkprogrammas notikuma izveides brīdi un
1970. gada 1. janvāri. Šī īpašība var būt
noderīga, nosakot notikuma veiktspēju,
iegūstot event.timeStamp vērtību starpību
diviem laika momentiem kodā. Ja vienkārši vēlaties
iegūt pašreizējo laiku notikuma apstrādātāja iekšienē,
izmanto metodi
getTime.
|
event.type |
Šajā īpašībā ir norādīts notikuma veids. |
event.which |
Šī īpašība norāda, kura tastatūras
vai peles taustiņš ir nospiests. Peles gadījumā:
1 - kreisā poga, 2 - ritenis,
3 - labā poga. Izmantojiet
event.which event.button vietā.
|
Citas event objekta īpašības
Ir arī citas īpašības, kas tiek kopētas
objektā event:
altKey, button, buttons, cancelable,
char, charCode, clientX, clientY,
ctrlKey, detail, eventPhase, key,
keyCode, offsetX, offsetY, originalTarget,
screenX, screenY, shiftKey,
toElement, view.
Lai piekļūtu īpašībām, kuras nav uzskaitītas augstāk,
var izmantot objektu event.originalEvent.
Piemērs
Parādīsim div elementā - kuri taustiņi tika nospiesti:
<input id="test" value="type something">
<div id="text"></div>
$('#test').on('keydown', function(event) {
$('#text').html(event.type + ": " + event.which);
});
Piemērs
Parādīsim div elementā - uz kura elementa mēs klikšķināsim:
<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);
});
Skatiet arī
-
metode
on,
kura ļauj piesaistīt notikuma apstrādātāju elementam -
metode
trigger,
kura ļauj palaist visus notikumu apstrādātājus, piesaistītus elementam noteikta veida notikumiem -
metode
triggerHandler,
kura ļauj palaist visus notikumu apstrādātājus, piesaistītus elementam - jQuery notikumi