С помощью объекта Event
в обработчик события передается ряд параметров, связанных с событием. Затем в обработчике мы
можем извлечь значения этих параметров и как-то применить при обработке.
Некоторые распространенные свойства объекта Event:
currentTarget
: текущий элемент, на котором обрабатывается событие
data
:представляет собой объект, в который передаются дополнительные данные связанные с событием, например, в методе bind
target
: элемент, инициировавший событие
timestamp
: время наступления события
pageX
: координаты указателя мыши относительно левой границы документа
pageY
: координаты указателя мыши относительно верхней границы документа
which
: в обработчиках событий клавиатуры или мыши объект, содержащий данные о нажатой клавише или кнопке
Например, обработаем нажатие на страницы клавиш клавиатуры и получим нажатую клавишу:
$(function(){ $(document).bind('keydown', function(e){ console.log(e.which); }); });
Здесь мы регистрируем обработчик клавиатуры для всего документа и в случае нажатия на консоль будет выведен числовой код клавиши. Получив данный числовой код, мы можем произвести некоторые действия.
Используя метод bind мы можем передать данные в параметр data события в виде необязательного второго параметра:
var mes = 'Привет мир!'; $('button').bind('click', mes, function(e){ alert(e.data); });
В данном случае переменная mes и будет передаваться в свойство e.data, из которого мы потом и сможем получить ее значение.
Также объект Event предоставляет ряд методов:
preventDefault()
: отменяет все действия, которые по умолчанию производит данное событие. Например, при нажатии на ссылку мы можем с помощью
данного метода запретить переход по этой ссылке.
isDefaultPrevented()
: возвращает true, если для данного события уже ранее вызывался метод preventDefault
stopPropagation()
: запрет всплытия события вверх по иерархии DOM и его последующей обработки.
isPropagationStopped()
: возвращает true, если ранее уже был вызван метод stopPropagation