Объект event

Материал из JQuery

Перейти к: навигация, поиск
event

объект, содержащий данные о произошедшем событии. Передается во все обработчики событий, которые были установлены средствами библиотеки jQuery. Объект event немного отличается от стандартных объектов событий, которые получают обработчики, установленные обычными средствами javascript. Некоторые поля подвергаются изменению для обеспечения кроссбраузерности. Помимо этого, в event добавлены дополнительные поля и методы.


Следующие поля гарантировано присутствуют в каждом объекте события (хотя некоторые из них могут иметь значение undefined):
altKey, attrChange, attrName, bubbles, button, cancelable, charCode, clientX, clientY, ctrlKey, currentTarget, data, detail, eventPhase, fromElement, handler, keyCode, layerX, layerY, metaKey, namespace (только с jQuery-1.4.3 и старше), newValue, offsetX, offsetY, originalTarget, pageX, pageY, prevValue, relatedNode, relatedTarget, screenX, screenY, shiftKey, srcElement, target, toElement, view, wheelDelta, which


Объекты event, которые предоставляет непосредственно javascript могут отличаться от браузера к браузеру. Поэтому, для обеспечения кроссбраузерности, перед передачей объекта event обработчику jQuery может изменить следующие из перечисленных полей:

  • target
  • relatedTarget
  • pageX
  • pageY
  • which
  • metaKey

Описание некоторых составляющих объекта event

event.currentTarget
Содержит DOM-элемент, событие которого обрабатывается. Внутри обработчика, currentTarget всегда совпадает с переменной this. Однако, этот элемент может не являться источником события, поскольку оно могло быть передано от дочернего элемента, в результате "всплытия" события, вверх по иерархии DOM. Первоначальный источник события содержится в event.target.
event.data
Дополнительные данные, которые передаются обработчику при его установке.
event.delegateTarget
(Введено в jQuery-1.7). Содержит DOM-элемент, на который действительно установлен сработавший обработчик. Это свойство имеет смысл, если обработчик установлен делегированно. Если обработчик установлен непосредственно, то значение event.delegateTarget будет совпадать с event.currentTarget.
event.isDefaultPrevented()
Определяет, вызывался ли метод event.preventDefault() на данном объекте событий.
event.isImmediatePropagationStopped()
Определяет, вызывался ли метод event.stopImmediatePropagation() на данном объекте событий.
event.isPropagationStopped()
Определяет, вызывался ли метод event.stopPropagation() на данном объекте событий.
event.namespace
Введено в jQuery-1.4.3. Содержит строковое значение пространства имен произошедшего события.
event.pageX, event.pageY
Координаты курсора мыши относительно левого верхнего угла документа.
event.preventDefault()
Отменяет выполнение события. Например, при "клике" по ссылке, переход по ней не произойдет, если внутри обработчика будет вызван этот метод.
event.relatedTarget
Не текущий DOM-элемент, участвующий в событии. Для события mouseout будет содержать элемент, куда переместился курсор, а для mousein элемент, откуда курсор пришел.
event.result
Содержит значение, которое возвратил предыдущий обработчик этого события. Если предыдущего обработчика нет, возвратит undefined.
event.stopPropagation()
Предотвращает дальнейшую передачу текущего события, вверх по иерархии дерева DOM. (некоторые события, такие как click, после выполнения на самом элементе, передают его родительским, что повторяется до самого основания дерева DOM)
event.stopImmediatePropagation()
Предотвращает выполнение следующих обработчиков текущего события, а так же, дальнейшую передачу события вверх по иерархии дерева DOM. Если требуется лишь остановить передачу события вверх по иерархии, а другие обработчики на текущем элементе останавливать не требуется, воспользуйтесь методом event.stopPropagation().
event.target
DOM-элемент, являющийся источником события.
event.timeStamp
Содержит время, когда было произведено событие. Время представлено количеством секунд, прошедших с 1.01.1970.
event.type
Тип события.
event.which
При возникновении события, связанного с нажатием клавиш клавиатуры или кнопок на странице, это поле будет содержать информацию о нажатых клавишах или кнопках. В отличии от стандартных event.keyCode и event.charCode, содержимое в event.which кроссбраузерное.

Ссылки

Поисковые ключи:
  • события на странице
  • event