Объект event - объект события в jQuery
Объект 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
.
Пример
Давайте будем выводить в див - какие клавиши были нажаты:
<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