Основные события в JavaScript

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

1. События мыши

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

click

Происходит, когда пользователь нажимает и отпускает кнопку мыши на элементе.

Пример:

document.querySelector('button').addEventListener('click', function(event) {
    console.log('Кнопка была нажата.');
});

dblclick

Происходит, когда пользователь дважды быстро нажимает на элемент.

Пример:

document.querySelector('p').addEventListener('dblclick', function(event) {
    console.log('Дважды кликнули на абзац.');
});

mouseenter / mouseleave

Происходят, когда курсор мыши входит в область элемента (mouseenter) и выходит из неё (mouseleave).

Пример:

document.querySelector('div').addEventListener('mouseenter', function(event) {
    console.log('Курсор вошел в div.');
});

document.querySelector('div').addEventListener('mouseleave', function(event) {
    console.log('Курсор вышел из div.');
});

mousedown / mouseup

Происходят, когда кнопка мыши нажимается (mousedown) и отпускается (mouseup).

Пример:

document.querySelector('button').addEventListener('mousedown', function(event) {
    console.log('Кнопку начали нажимать.');
});

document.querySelector('button').addEventListener('mouseup', function(event) {
    console.log('Отпустили кнопку.');
});

mousemove

Происходит каждый раз, когда курсор мыши перемещается над элементом.

Пример:

document.addEventListener('mousemove', function(event) {
    console.log('Координаты курсора: ', event.clientX, event.clientY);
});

2. Клавиатурные события

Клавиатурные события происходят, когда пользователь взаимодействует с клавиатурой.

keydown / keyup

Происходят, когда клавиша нажимается (keydown) и отпускается (keyup).

Пример:

document.addEventListener('keydown', function(event) {
    console.log('Нажали клавишу:', event.key);
});

document.addEventListener('keyup', function(event) {
    console.log('Отпустили клавишу:', event.key);
});

keypress

Происходит, когда пользователь нажимает любую клавишу, генерирующую символ (например, буквы, цифры). Не срабатывает для функциональных клавиш, таких как Shift, Ctrl и т.д.

Пример:

document.addEventListener('keypress', function(event) {
    console.log('Символ:', String.fromCharCode(event.charCode));
});

3. События формы

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

submit

Происходит, когда форма отправляется пользователем.

Пример:

document.querySelector('form').addEventListener('submit', function(event) {
    event.preventDefault(); // Предотвращаем отправку формы
    console.log('Форма была отправлена.');
});

change

Происходит, когда изменяется состояние элемента формы (например, выбран новый пункт в выпадающем списке или установлен/снят чекбокс).

Пример:

document.querySelector('select').addEventListener('change', function(event) {
    console.log('Изменено значение выпадающего списка:', event.target.value);
});

focus / blur

Происходят, когда элемент получает фокус (focus) и теряет его (blur).

Пример:

document.querySelector('input').addEventListener('focus', function(event) {
    console.log('Поле получило фокус.');
});

document.querySelector('input').addEventListener('blur', function(event) {
    console.log('Поле потеряло фокус.');
});

4. События окна/документа

Эти события связаны с состоянием окна браузера или самого документа.

load

Происходит после полной загрузки всех ресурсов страницы (включая изображения, стили и скрипты).

Пример:

window.addEventListener('load', function(event) {
    console.log('Страница полностью загружена.');
});

DOMContentLoaded

Происходит, когда структура DOM полностью построена, но до завершения загрузки всех внешних ресурсов (изображения, стили и т.п.).

Пример:

document.addEventListener('DOMContentLoaded', function(event) {
    console.log('DOM готов к использованию.');
});

resize

Происходит, когда размер окна браузера меняется.

Пример:

window.addEventListener('resize', function(event) {
    console.log('Размер окна изменён.', window.innerWidth, window.innerHeight);
});

scroll

Происходит, когда содержимое окна или элемента прокручивается.

Пример:

window.addEventListener('scroll', function(event) {
    console.log('Прокручено на:', window.scrollY, 'px');
});

5. События касания (Touch Events)

Эти события используются для работы с сенсорными экранами.

touchstart / touchend

Происходят, когда палец касается экрана (touchstart) и отрывается от него (touchend).

Пример:

document.addEventListener('touchstart', function(event) {
    console.log('Прикоснулись к экрану.');
});

document.addEventListener('touchend', function(event) {
    console.log('Отпустили экран.');
});

touchmove

Происходит, когда палец движется по экрану.

Пример:

document.addEventListener('touchmove', function(event) {
    console.log('Перемещаемся по экрану.');
});

Заключение

События в JavaScript предоставляют мощные инструменты для взаимодействия с пользователями и реагирования на их действия. Правильное использование этих событий помогает создавать удобные и интуитивно понятные веб-интерфейсы.

Добавить комментарий

Войти с помощью: