Параметры обработчика. Объект Event

Последнее обновление: 1.11.2015

С помощью объекта 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

Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850