логотип PurpleSchool
логотип PurpleSchool

Событие keydown в JavaScript

Автор

Дмитрий Нечаев

Событие keydown в JavaScript является одним из трех основных типов событий клавиатуры (наряду с keypress и keyup). Это событие срабатывает, когда пользователь нажимает клавишу на клавиатуре. Оно может использоваться для различных целей, таких как обработка горячих клавиш, управление вводом данных и интерактивное управление элементами интерфейса. В этой статье мы рассмотрим, как работает событие keydown, как его можно использовать в веб-приложениях и предоставим примеры кода.

Как работает событие "keydown"?

Событие keydown срабатывает в момент, когда клавиша на клавиатуре нажимается, до того как она отпущена (keyup). В отличие от keypress, keydown срабатывает для всех клавиш, включая функциональные (например, Shift, Ctrl, Alt и стрелки).

Примеры использования события "keydown"

Обработка комбинаций клавиш

Событие keydown часто используется для обработки сочетаний клавиш, таких как сочетания с Ctrl или Alt.

document.addEventListener('keydown', function(event) {
    // Проверяем, нажата ли клавиша Ctrl и клавиша S одновременно
    if (event.ctrlKey && event.key === 's') {
        event.preventDefault(); // предотвращаем стандартное действие (сохранение файла)
        console.log('Выполнено сохранение документа!');
        // Вызываем функцию сохранения документа
        saveDocument();
    }
});

Навигация с помощью клавиатуры

Событие keydown также можно использовать для создания клавиатурной навигации на странице.

document.addEventListener('keydown', function(event) {
    switch (event.key) {
        case 'ArrowUp':
            console.log('Нажата стрелка вверх');
            moveUp();
            break;
        case 'ArrowDown':
            console.log('Нажата стрелка вниз');
            moveDown();
            break;
    }
});

Предотвращение ввода нежелательных символов

keydown может использоваться для предотвращения ввода определенных символов в поля ввода.

const input = document.querySelector('input[type="text"]');

input.addEventListener('keydown', function(event) {
    // Разрешаем только цифры
    if (!event.key.match(/[0-9]/) && event.key !== 'Backspace') {
        event.preventDefault(); // Отменяем ввод символа
    }
});

Особенности работы события "keydown"

  • Повторение событий: Если клавиша удерживается нажатой, событие keydown может срабатывать многократно из-за автоповтора.
  • Доступ к свойствам события: Событие предоставляет доступ к различным свойствам, таким как key (символьное представление клавиши), keyCode (устаревший код клавиши) и модификаторам типа shiftKey, ctrlKey, altKey.

Заключение

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

Стрелочка влевоСобытие keyup в JavaScriptСобытие invalid в JavaScriptСтрелочка вправо

Все гайды по Javascript

Как работает метод trim() - JavaScriptКак работает метод toUpperCase() - JavaScriptКак работает метод toLowerCase() - JavaScriptКак работает метод substring() - JavaScriptКак работает метод startsWith() - JavaScriptКак работает метод split() - JavaScriptКак работает метод slice() - JavaScriptКак работает метод search() - JavaScriptКак работает метод replaceAll() - JavaScriptКак работает метод replace() - JavaScriptКак работает метод repeat() - JavaScriptКак работает метод padStart() - JavaScriptКак работает метод padEnd() - JavaScriptКак работает метод matchAll() - JavaScriptКак работает метод match() - JavaScriptКак работает метод localeCompare() - JavaScriptКак работает свойство length - JavaScriptКак работает метод lastIndexOf() - JavaScriptКак работает метод indexOf() - JavaScriptКак работает метод includes() - JavaScriptКак работает метод fromCodePoint() - JavaScriptКак работает метод fromCharCode() - JavaScriptКак работает метод endsWith() - JavaScriptКак работает метод concat() - JavaScriptКак работает метод codePointAt() - JavaScriptКак работает метод charCodeAt() - JavaScriptКак работает метод charAt() - JavaScript
Итератор в JavaScript
try...catch в JavaScriptError в JavaScript
Событие wheel в JavaScriptСобытие unload в JavaScriptСобытие touch в JavaScriptСобытие submit в JavaScriptСобытие scroll в JavaScriptСобытие reset в JavaScriptМетод .preventDefault() в JavaScriptСобытие mouseover в JavaScriptСобытие mouseout в JavaScriptСобытие load в JavaScriptСобытие keyup в JavaScriptСобытие keydown в JavaScriptСобытие invalid в JavaScriptСобытие input в JavaScriptСобытийная модель Event в JavaScriptОбъект события Event в JavaScriptСобытие DOMContentLoaded в JavaScriptСобытие dblclick в JavaScriptСобытие click в JavaScriptСобытие change в JavaScriptСобытие beforeunload в JavaScript
Как работает метод some() - JavaScriptКак работает метод reverse() - JavaScriptКак работает метод reduce() - JavaScriptКак работает метод map() - JavaScriptКак работает метод isArray() - JavaScriptКак работает метод indexOf() - JavaScriptКак работает метод includes() - JavaScriptКак работает метод from() - JavaScriptКак работает метод forEach() - JavaScriptКак работает метод flatMap() - JavaScriptКак работает метод flat() - JavaScriptКак работает метод findIndex() - JavaScriptКак работает метод find() - JavaScriptКак работает метод filter() - JavaScriptКак работает метод every() - JavaScriptМассивы в JavaScript
Открыть базу знаний