- Теория
- Теория
Выбор клавиши
Событие мы назвали, оно срабатывает при нажатии на любую клавишу. Но нам любая не подходит, нам нужен ESC
. Как выполнять код по нажатию только на одну конкретную клавишу? Обратимся к уже знакомому объекту event
.
Мы говорили раньше, что у объекта события есть много полезных свойств. Например, тип события, введённый символ, координаты курсора в момент наступления события и многое другое. В том числе и код клавиши, которую нажал пользователь. Это свойство называется keyCode
.
С помощью этого свойства каждую клавишу можно определить по коду. Например, у Enter
код 13
, а у ESC
— код 27
. Эти номера универсальны и одинаковы в любой раскладке. Найти код любой клавиши можно здесь.
Теперь мы знаем, что есть объект event
, который содержит номер нажатой клавиши в свойстве keyCode
, и знаем код необходимой клавиши. Осталось всё это собрать в одном обработчике.
document.addEventListener('keydown', function(evt) {
// Проверяем, что код клавиши равен 27
if (evt.keyCode === 27) {
// Код отсюда выполнится только при нажатии ESC
}
});
Настроим наш обработчик, чтобы инструкции выполнялись только при нажатии ESC
.
кроме keyCode
есть и другие свойства для определения нажатой клавиши. Например, key. Его отличие в том, что он возвращает не код клавиши, а её название в виде строки: «Enter», «Alt», «Escape». Ещё есть свойство code. Оно тоже возвращает название клавиши, при этом на значение не влияет выбранный язык клавиатуры. Эти свойства пока поддерживаются не во всех браузерах, но когда поддержка станет лучше, стоит начать использовать их вместо keyCode
в соответствии с современным стандартом JavaScript.
- index.html
Вы перешли на другую страницу
Кликните внутри мини-браузера, чтобы поставить фокус в это окно.