Објектот event
Објектот event се генерира при активирање
на настан и содржи информации за него. При појава
на настан, објектот event се пренесува во
функцијата-обработувач.
Својства и методи на објектот event
Подолу во табелата се наведени својствата и методите
на објектот event и нивниот опис:
| Име | Опис |
|---|---|
event.currentTarget |
Тековниот DOM елемент во фазата на ширење на настанот. Обично
ова својство е еквивалентно на this во функцијата.
|
event.data |
Незадолжителен параметар. Објект на податоци, кој се пренесува во методот на настанот при прикачување на извршниот обработувач. |
event.delegateTarget |
Елементот на кој бил прикачен штотуку повиканиот
jQuery обработувач на настан. Ова својство е најкорисно
во делегираните настани, кога обработувачот е врзан за
предок на обработуваниот елемент. За неделегирани
обработувачи, врзани директно за елементот,
вредноста event.delegateTarget одговара
на вредноста event.currentTarget.
|
event.isDefaultPrevented |
Методот проверува дали бил повикан методот
event.preventDefault
за овој објект на настан.
|
event.isImmediatePropagationStopped |
Методот проверува дали бил повикан методот
event.stopImmediatePropagation
за овој објект на настан.
|
event.isPropagationStopped |
Методот проверува дали бил повикан методот
event.stopPropagation
за овој објект на настан.
|
event.isPropagationStopped |
Методот проверува дали бил повикан методот
event.stopPropagation
за овој објект на настан.
|
event.metaKey |
Методот проверува дали била притисната копчето
META во моментот на активирање
на настанот. Во зависност од платформата, копчето
може да се разликува. Враќа true или
false.
|
event.namespace |
Именскиот простор, наведен во моментот на повикување на настанот. Ова својство може да биде корисно за авторите на приклучоци, чии задачи зависат од користениот именски простор. |
event.pageX |
Ја прикажува позицијата на глувчето во однос на левиот раб на документот. |
event.pageY |
Ја прикажува позицијата на глувчето во однос на горниот раб на документот. |
event.preventDefault |
Ако овој метод е повикан, тогаш дејството по
стандард за дадениот настан нема да
се изврши. На пример, кликање на врска
нема да доведе до премин на нов URL. За
да проверите дали овој метод бил повикан,
можете да го користите методот
event.isDefaultPrevented.
|
event.relatedTarget |
Го враќа другиот DOM елемент кој учествува
во настанот, доколку постои. За
mouseout покажува на кој
елемент е насочено глувчето, за mouseover
од кој елемент курсорот на глувчето бил оддалечен.
|
event.result |
Последната вредност што ја врати обработувачот
на активираниот настан, не еднаква на
undefined. Својството може да биде корисно
за добивање на вредности на сопствени настани.
|
event.stopImmediatePropagation |
Го откажува работењето на сите преостанати обработувачи
на настани, поврзани со елементот и го спречува
ширењето на настанот нагоре по DOM дрвото. За да
се забрани настанот да се шири до
елементи-предци, но да се дозволи работа на други
обработувачи на настани, може да се користи методот
event.stopPropagation. Користете го методот
event.isImmediatePropagationStopped, за да
проверите дали бил повикан
event.stopImmediatePropagation за дадениот
објект на настан.
|
event.stopPropagation |
Спречува ширење на настанот нагоре по DOM
дрвото. Запомнете дека другите обработувачи
ќе продолжат да работат за дадениот елемент. Овој
метод работи за сопствени настани, повикани
со методот
trigger.
За да проверите дали овој метод бил повикан,
користете event.isPropagationStopped.
|
event.target |
DOM елементот кој го иницирал настанот. Ова може
да биде елемент регистриран за настанот или
негов потомок. Многу е корисно да се споредуваат
event.target и this, за одредување
на ширењето на настанот. Својството е корисно при делегирање
на настан, кога настаните се шират.
|
event.timeStamp |
Разлика во времето во милисекунди помеѓу
моментите на создавање на настанот од прелистувачот и
1 Јануари 1970 година. Својството може да биде
корисно при одредување на перформансите
на настанот со добивање на разликата во вредностите
event.timeStamp за два момента
во времето во кодот. Ако сакате само
да го добиете тековното време внатре во обработувачот
на настан, користете го методот
getTime.
|
event.type |
Во ова својство е наведен типот на настан. |
event.which |
Ова својство укажува на кое копче
од тастатурата или глувчето било притиснато. За глувче:
1 - лево копче, 2 - средно копче (тркалце),
3 - десно копче. Користете
event.which наместо event.button.
|
Други својства на објектот event
Постојат и други својства кои се копираат
во објектот event:
altKey, button, buttons, cancelable,
char, charCode, clientX, clientY,
ctrlKey, detail, eventPhase, key,
keyCode, offsetX, offsetY, originalTarget,
screenX, screenY, shiftKey,
toElement, view.
За пристап до својствата кои не се наведени погоре,
може да се користи објектот event.originalEvent.
Пример
Ќе испишуваме во div - кои копчиња биле притиснати:
<input id="test" value="type something">
<div id="text"></div>
$('#test').on('keydown', function(event) {
$('#text').html(event.type + ": " + event.which);
});
Пример
Ќе испишуваме во div - на која ознака кликнуваме:
<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);
});
Погледнете ги и
-
методот
on,
кој овозможува да се врзе обработувач на настани за елемент -
методот
trigger,
кој овозможува да се стартуваат сите обработувачи на настани, врзани за елементот за настани од даден тип -
методот
triggerHandler,
кој овозможува да се стартуваат сите обработувачи на настани, врзани за елементот - настани во jQuery