Свойства событий в JavaScript

Каждое событие в JavaScript содержит множество свойств, которые предоставляют информацию о том, что произошло. Эти свойства позволяют нам понять, какие элементы были вовлечены в событие, какие клавиши были нажаты, где находился курсор и другие детали.

Другими словами свойства событий — это данные, которые содержат информацию о событии, когда оно происходит. Эти свойства доступны внутри обработчиков событий и дают возможность узнать, что именно произошло.

Пример с event

document.getElementById('myButton').addEventListener('click', function(event) {
  console.log(event); 
});
// Покажет все свойства события

Основные свойства событий

1 - type

Свойство type сообщает, какой тип события произошел (например, click, keydown, submit).

document.getElementById('myButton').addEventListener('click', function(event) {
  console.log(event.type); // "click"
});

2 - target

Свойство target возвращает элемент, на котором произошло событие. Это позволяет узнать, какой именно элемент был вовлечен в событие.

document.getElementById('myButton').addEventListener('click', function(event) {
  console.log(event.target); // Покажет элемент, на который нажали
});

3 - currentTarget

Свойство currentTarget возвращает элемент, к которому был привязан обработчик события, а не тот, на котором событие произошло. Это особенно полезно при делегировании событий.

document.getElementById('parent').addEventListener('click', function(event) {
  console.log(event.currentTarget); // Покажет родительский элемент, на который повешен обработчик
});

4 - clientX и clientY

Эти свойства содержат координаты курсора мыши в момент возникновения события. Значения измеряются относительно области просмотра окна (без учета прокрутки).

document.addEventListener('click', function(event) {
  console.log(`X: ${event.clientX}, Y: ${event.clientY}`);
});

5 - pageX и pageY

Свойства pageX и pageY дают координаты мыши относительно всей страницы, включая прокрутку. Эти свойства полезны, когда необходимо учитывать прокрученную часть страницы.

document.addEventListener('click', function(event) {
  console.log(`Page X: ${event.pageX}, Page Y: ${event.pageY}`);
});

6 - keyCode и code

Свойства keyCode и code используются для событий клавиатуры. keyCode возвращает числовой код клавиши, а code — физический код клавиши, независимо от того, какая клавиша была нажата (например, Enter, Space, ArrowUp).

document.addEventListener('keydown', function(event) {
  console.log(`keyCode: ${event.keyCode}, code: ${event.code}`);
});

7 - button

Свойство button указывает, какая кнопка мыши была нажата. Для правой кнопки мыши, это значение будет равно 2, для средней — 1, а для левой — 0.

document.addEventListener('mousedown', function(event) {
  console.log(`Button: ${event.button}`); // Покажет номер кнопки мыши
});

8 - detail

Свойство detail хранит количество кликов мыши в событиях click. Это свойство полезно при отслеживании двойных кликов.

document.addEventListener('click', function(event) {
  console.log(`Количество кликов: ${event.detail}`);
});

Свойства событий предоставляют возможности для получения подробной информации о том, что произошло на странице. Использование этих свойств позволяет более гибко и точно обрабатывать различные события, обеспечивая более эффективное взаимодействие с пользователем.


Home About Links

Text me