Вход/Регистрация
JavaScript. Подробное руководство, 6-е издание
вернуться

Флэнаган Дэвид

Шрифт:

target, currentTarget, relatedTarget

Свойство

target
ссылается на элемент документа, в котором возникло событие. Если это свойство в стандартном объекте события ссылается на текстовый узел, jQuery подставит ссылку на вмещающий объект
Element
. Свойство
currentTarget
ссылается на элемент, в котором был зарегистрирован текущий обработчик события. Значение этого свойства всегда должно совпадать со значением
this
.

Если значения свойств

currentTarget
и
target
не совпадают, следовательно, обрабатывается всплывшее событие и может оказаться полезным проверить элемент
target
с помощью метода
is
(раздел 19.1.2):

if ($(event.target).is("a")) return; // Игнорировать события.

// сгенерированные в ссылках

Свойство

relatedTarget
– ссылка на другой элемент, вовлеченный в события перехода, такие как «mouseover» и «mouseout». Например, для событий «mouseover» свойство
relatedTarget
будет ссылаться на элемент, который покинул указатель мыши при перемещении на элемент
target
. Если стандартный объект события не имеет свойства
relatedTarget
, но имеет свойства
toElement
и
fromElement
, свойство
relatedTarget
получает значение одного из этих свойств в зависимости от типа события.

timeStamp

Время возникновения события в миллисекундах, возвращаемое методом

Date.getTime
. Библиотека jQuery сама устанавливает это свойство, чтобы обойти давнишнюю ошибку в Firefox.

which

Библиотека jQuery нормализует это нестандартное свойство события так, что оно определяет кнопку мыши или клавишу на клавиатуре, нажатие которой вызвало это событие. Для событий клавиатуры, если стандартный объект события не имеет свойства

which
, но имеет свойство
charCode
или
keyCode
, в свойство
which
будет записано значение свойства, которое определено. Для событий мыши, если свойство
which
отсутствует, но имеется свойство
button
, в свойство
which
будет записано значение, основанное на значении свойства
button
. О означает, что никакая кнопка не была нажата. 1 - была нажата левая кнопка, 2 -средняя кнопка и 3 - правая кнопка. (Обратите внимание, что в некоторых броузерах нажатие правой кнопки мыши не генерирует события.)

Кроме того, библиотека jQuery определяет следующие собственные поля в объекте

Event
, которые иногда могут оказаться полезными:

data

Если при регистрации обработчика события были указаны дополнительные данные (раздел 19.4.4), обработчик сможет получить к ним доступ с помощью этого поля.

handler

Ссылка на текущую функцию обработчика события.

result

Возвращаемое значение предыдущего обработчика этого события. Обработчики, не возвращающие ничего, не учитываются.

originalEvent

Ссылка на стандартный объект

Event
, созданный броузером.

19.4.4. Дополнительные способы регистрации обработчиков событий

Мы уже знаем, что в библиотеке jQuery имеется множество простых методов регистрации обработчиков событий. Внутри каждого из них вызывает один и тот же, более сложный метод

bind,
который связывает обработчик с указанным типом события во всех элементах в объекте jQuery. Прямое использование метода
bind
позволяет использовать дополнительные возможности механизма регистрации, недоступные в простых методах. [55] (

55

В библиотеке jQuery термин «связывание» используется для обозначения регистрации обработчиков событий. Стандарт ECMAScript 5 и многие фреймворки на языке JavaScript определяют в объектах функций метод bind (раздел 8.7.4) и используют этот термин для обозначения связи функций с объектами, относительно которых они вызываются. Версия метода Function. bind в библиотеке jQuery является вспомогательной функцией с именем jQuery. ргоху, которая описывается в разделе 19.7.

В библиотеке jQuery термин «связывание» используется для обозначения регистрации обработчиков событий. Стандарт ECMAScript 5 и многие фреймворки на языке JavaScript определяют в объектах функций метод bind (раздел 8.7.4) и используют этот термин для обозначения связи функций с объектами, относительно которых они вызываются. Версия метода Function. bind в библиотеке jQuery является вспомогательной функцией с именем jQuery. ргоху, которая описывается в разделе 19.7.

)

В простейшем случае методу

bind
передаются строка с типом события в первом аргументе и функция обработчика события во втором. Простые методы регистрации обработчиков событий используют именно эту форму вызова метода
bind.
Вызов
$('р').click(f),
например, эквивалентен вызову:

$('р').bind('click',f);

Метод

bind
может также вызываться с тремя аргументами. В этой форме вызова тип события передается в первом аргументе, а функция обработчика - в третьем. Во втором аргументе можно передать любое значение, и библиотека jQuery будет присваивать это значение свойству
data
объекта
Event
перед вызовом обработчика. Иногда это может пригодиться для передачи обработчику дополнительных данных без использования замыкания.

  • Читать дальше
  • 1
  • ...
  • 354
  • 355
  • 356
  • 357
  • 358
  • 359
  • 360
  • 361
  • 362
  • 363
  • 364
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: