Объект 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



Чат с GPT Компилятор