Objekt event
Objekt event je generován při aktivaci
události a obsahuje informace o ní. Při výskytu
události je objekt event předán do
funkce-obsluhy.
Vlastnosti a metody objektu event
Níže v tabulce jsou uvedeny vlastnosti a metody
objektu event a jejich popis:
| Název | Popis |
|---|---|
event.currentTarget |
Aktuální DOM prvek ve fázi bubbling události. Obvykle
je tato vlastnost ekvivalentní this funkce.
|
event.data |
Volitelný parametr. Objekt dat předávaný do metody události při připojení vykonatelné obsluhy. |
event.delegateTarget |
Prvek, ke kterému byla připojena právě volaná
jQuery obsluha události. Tato vlastnost je nejužitečnější
u delegovaných událostí, kdy je obsluha navázána na
předka zpracovávaného prvku. Pro nedelegované
obsluhy, navázané přímo na prvek,
hodnota event.delegateTarget odpovídá
hodnotě event.currentTarget.
|
event.isDefaultPrevented |
Metoda kontroluje, zda byla volána metoda
event.preventDefault
pro tento objekt události.
|
event.isImmediatePropagationStopped |
Metoda kontroluje, zda byla volána metoda
event.stopImmediatePropagation
pro tento objekt události.
|
event.isPropagationStopped |
Metoda kontroluje, zda byla volána metoda
event.stopPropagation
pro tento objekt události.
|
event.isPropagationStopped |
Metoda kontroluje, zda byla volána metoda
event.stopPropagation
pro tento objekt události.
|
event.metaKey |
Metoda kontroluje, zda byla stisknuta klávesa
META v momentě aktivace
události. V závislosti na platformě se klávesa
může lišit. Vrací true nebo
false.
|
event.namespace |
Jmenný prostor, uvedený v momentě volání události. Tato vlastnost se ukáže užitečnou pro autory pluginů, jejichž úkoly závisí na použitém jmenném prostoru. |
event.pageX |
Ukazuje pozici myši vzhledem k levému okraji dokumentu. |
event.pageY |
Ukazuje pozici myši vzhledem k hornímu okraji dokumentu. |
event.preventDefault |
Pokud je tato metoda volána, pak akce
přednastavená pro danou událost nebude
provedena. Například kliknutí na odkaz
nepovede k přechodu na novou URL. Abyste
zkontrolovali, zda byla tato metoda volána,
můžete použít metodu
event.isDefaultPrevented.
|
event.relatedTarget |
Vrací jiný DOM prvek, účastnící se
události, pokud takový existuje. Pro
mouseout ukazuje, na jaký
prvek je myš navedena, pro mouseover
z jakého prvku byl kurzor myši odveden.
|
event.result |
Poslední hodnota, kterou vrátila obsluha
aktivované události, nerovnající se
undefined. Vlastnost může být užitečná
pro získání hodnot vlastních událostí.
|
event.stopImmediatePropagation |
Ruší činnost všech zbývajících obsluh
událostí, spojených s prvkem a zabraňuje
bubblingu události vzhůru po DOM stromu. Chcete-li
pouze zakázat události bublat až k
předkovským prvkům, ale povolit činnost jiných
obsluh událostí, můžete použít metodu
event.stopPropagation. Použijte metodu
event.isImmediatePropagationStopped, abyste
zkontrolovali, zda byla volána
event.stopImmediatePropagation pro tento
objekt události.
|
event.stopPropagation |
Zabraňuje bubbling události vzhůru po DOM
strome. Pamatujte, že jiné obsluhy
budou pokračovat v činnosti pro tento prvek. Tato
metoda funguje pro vlastní události, volané
pomocí metody
trigger.
Chcete-li zkontrolovat, zda byla tato metoda volána,
použijte event.isPropagationStopped.
|
event.target |
DOM prvek, iniciující událost. Může to
být prvek registrovaný pro událost nebo
jeho potomek. Je velmi užitečné porovnávat
event.target a this, pro určení
bubblingu události. Vlastnost je užitečná při delegování
události, kdy události bublají.
|
event.timeStamp |
Rozdíl v čase v milisekundách mezi
momenty vytvoření události prohlížečem a
1. Ledna 1970. Vlastnost může být
užitečná při určení výkonnosti
události získáním rozdílu hodnot
event.timeStamp pro dva momenty
času v kódu. Pokud chcete jednoduše
získat aktuální čas uvnitř obsluhy
události, použijte metodu
getTime.
|
event.type |
V této vlastnosti je uveden typ události. |
event.which |
Tato vlastnost udává, která klávesa
klávesnice nebo myši byla stisknuta. Pro myš:
1 - levé tlačítko, 2 - kolečko,
3 - pravé tlačítko. Použijte
event.which místo event.button.
|
Další vlastnosti objektu event
Existují i další vlastnosti, které jsou kopírovány
do objektu event:
altKey, button, buttons, cancelable,
char, charCode, clientX, clientY,
ctrlKey, detail, eventPhase, key,
keyCode, offsetX, offsetY, originalTarget,
screenX, screenY, shiftKey,
toElement, view.
Pro přístup k vlastnostem, neuvedeným výše,
můžete použít objekt event.originalEvent.
Příklad
Vypišme do divu - které klávesy byly stisknuty:
<input id="test" value="napište něco">
<div id="text"></div>
$('#test').on('keydown', function(event) {
$('#text').html(event.type + ": " + event.which);
});
Příklad
Vypišme do divu - na jaký tag jsme klikli:
<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);
});
Viz také
-
metoda
on,
která umožňuje navázat obsluhu událostí na prvek -
metoda
trigger,
která umožňuje spustit všechny obsluhy událostí, navázané na prvek pro události daného typu -
metoda
triggerHandler,
která umožňuje spustit všechny obsluhy událostí, navázané na prvek - události jQuery