Објекат 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 |
Ако је овај метод позван, онда радња по
уобичајеној поставци за дати догађај неће бити
извршена. На пример, притисак на везу
неће довести до преласка на нову адресу. За
то да проверимо да ли је овај метод позван,
можемо да искористимо метод
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.
Пример
Хајде да у диву исписујемо - која дугмад су притиснута:
<input id="test" value="type something">
<div id="text"></div>
$('#test').on('keydown', function(event) {
$('#text').html(event.type + ": " + event.which);
});
Пример
Хајде да у диву исписујемо - на који тег ћемо кликнути:
<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