Objekt event
Objekt event je generovaný pri vyvolaní
udalosti a obsahuje informácie o nej. Pri výskyte
udalosti je objekt event odovzdaný do
funkcie-obslužného programu.
Vlastnosti a metódy objektu event
Nižšie v tabuľke sú uvedené vlastnosti a metódy
objektu event a ich popis:
| Názov | Popis |
|---|---|
event.currentTarget |
Aktuálny DOM element vo fáze bublania udalosti. Zvyčajne
je táto vlastnosť ekvivalentná this funkcie.
|
event.data |
Voliteľný parameter. Objekt dát, ktorý je odovzdaný do metódy udalosti pri pripájaní vykonateľného obslužného programu. |
event.delegateTarget |
Element, ku ktorému bol práve vyvolaný jQuery
obslužný program udalosti pripájaný. Táto vlastnosť je najužitočnejšia
pri delegovaných udalostiach, keď je obslužný program naviazaný na
predka spracovávaného elementu. Pre nedelegované
obslužné programy, naviazané priamo na element,
hodnota event.delegateTarget zodpovedá
hodnote event.currentTarget.
|
event.isDefaultPrevented |
Metóda kontroluje, či bola pre tento objekt udalosti
zavolaná metóda event.preventDefault.
|
event.isImmediatePropagationStopped |
Metóda kontroluje, či bola pre tento objekt udalosti
zavolaná metóda event.stopImmediatePropagation.
|
event.isPropagationStopped |
Metóda kontroluje, či bola pre tento objekt udalosti
zavolaná metóda event.stopPropagation.
|
event.isPropagationStopped |
Metóda kontroluje, či bola pre tento objekt udalosti
zavolaná metóda event.stopPropagation.
|
event.metaKey |
Metóda kontroluje, či bola v čase vyvolania
udalosti stlačená klávesa META.
V závislosti od platformy sa klávesa
môže líšiť. Vracia true alebo
false.
|
event.namespace |
Názov menného priestoru, uvedený v čase vyvolania udalosti. Táto vlastnosť sa ukáže užitočnou pre autorov pluginov, ktorých úlohy závisia od použitého menného priestoru. |
event.pageX |
Zobrazuje pozíciu myši vzhľadom na ľavý okraj dokumentu. |
event.pageY |
Zobrazuje pozíciu myši vzhľadom na horný okraj dokumentu. |
event.preventDefault |
Ak je táto metóda zavolaná, štandardná akcia
pre danú udalosť nebude vykonaná. Napríklad kliknutie na odkaz
nepovedie k prechodu na novú URL. Ak chcete
skontrolovať, či bola táto metóda zavolaná, môžete použiť metódu
event.isDefaultPrevented.
|
event.relatedTarget |
Vracia iný DOM element, ktorý sa zúčastňuje
udalosti, ak taký existuje. Pre
mouseout ukazuje, na ktorý
element je myš nasmerovaná, pre mouseover
z ktorého elementu bol kurzor myši odobratý.
|
event.result |
Posledná hodnota, ktorú vrátil obslužný program
vyvolanej udalosti, ktorá sa nerovná
undefined. Vlastnosť môže byť užitočná
pre získanie hodnôt vlastných udalostí.
|
event.stopImmediatePropagation |
Zruší činnosť všetkých zostávajúcich obslužných programov
udalostí, spojených s elementom a zabráni
bublaniu udalosti nahor po DOM strome. Ak chcete
jednoducho zakázať udalosti bublať do
elementov-predkov, ale povoliť činnosť iných
obslužných programov udalostí, môžete použiť metódu
event.stopPropagation. Použite metódu
event.isImmediatePropagationStopped, aby ste
skontrolovali, či bol pre daný objekt udalosti zavolaný
event.stopImmediatePropagation.
|
event.stopPropagation |
Zabraňuje bublaniu udalosti nahor po DOM
strome. Pamätajte, že iné obslužné programy
budú pre tento element pokračovať v činnosti. Táto
metóda funguje pre vlastné udalosti, vyvolané
pomocou metódy
trigger.
Ak chcete skontrolovať, či bola táto metóda zavolaná,
použite event.isPropagationStopped.
|
event.target |
DOM element, ktorý inicioval udalosť. Môže to
byť element registrovaný pre udalosť alebo
jeho potomok. Je veľmi užitočné porovnávať
event.target a this, na určenie
bublania udalosti. Vlastnosť je užitočná pri delegovaní
udalosti, keď udalosti bublajú.
|
event.timeStamp |
Rozdiel v čase v milisekundách medzi
momentmi vytvorenia udalosti prehliadačom a
1. Januárom 1970. Vlastnosť môže byť
užitočná pri určovaní výkonnosti
udalosti získaním rozdielu hodnôt
event.timeStamp pre dva momenty
času v kóde. Ak chcete jednoducho
získať aktuálny čas vnútri obslužného programu
udalosti, použite metódu
getTime.
|
event.type |
V tejto vlastnosti je uvedený typ udalosti. |
event.which |
Táto vlastnosť udáva, ktorá kláves
klávesnice alebo myši bola stlačená. Pre myš:
1 - ľavé tlačidlo, 2 - koliesko,
3 - pravé tlačidlo. Použite
event.which namiesto event.button.
|
Iné vlastnosti objektu event
Existujú aj ďalšie vlastnosti, ktoré sú kopírované
do objektu event:
altKey, button, buttons, cancelable,
char, charCode, clientX, clientY,
ctrlKey, detail, eventPhase, key,
keyCode, offsetX, offsetY, originalTarget,
screenX, screenY, shiftKey,
toElement, view.
Pre prístup k vlastnostiam, ktoré nie sú uvedené vyššie,
môžete použiť objekt event.originalEvent.
Príklad
Vypíšme do div-u - ktoré klávesy boli stlačené:
<input id="test" value="napíšte niečo">
<div id="text"></div>
$('#test').on('keydown', function(event) {
$('#text').html(event.type + ": " + event.which);
});
Príklad
Vypíšme do div-u - na ktorý tag sme klikli:
<body>
<div id="text"></div>
<div>
<p>
<strong><span>kliknite</span></strong>
</p>
</div>
</body>
span, strong, p {
display: block;
padding: 10px;
border: 1px solid black;
}
$('body').click(function(event) {
$('#text').html('kliknuté: ' + event.target.nodeName);
});
Pozrite tiež
-
metóda
on,
ktorá umožňuje pripojiť obslužný program udalosti k elementu -
metóda
trigger,
ktorá umožňuje spustiť všetky obslužné programy udalostí, pripojené k elementu pre udalosti daného typu -
metóda
triggerHandler,
ktorá umožňuje spustiť všetky obslužné programy udalostí, pripojené k elementu - udalosti jQuery