Скрипт перехвата нажатий нескольких клавиш на JavaScript
Данная JavaScript функция позволяет перехватывать одновременное нажатие нескольких клавиши на странице. Использовать это можно, например, для быстрого перехода по ссылкам на сайте или в редакторе текста - для сохранения текста, его стилизации в редактируемой области и т.д.
Код скрипта упрощен насколько это возможно, для того чтобы Вы могли понять суть того, как можно перехватывать нажатие сразу нескольких клавиш на странице с помощью JavaScript. Далее вы уже самостоятельно можете дополнить его необходимой функциональностью.
Код:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Скрипт перехвата нажатий нескольких клавиш на JavaScript</title>
</head>
<body>
<script>
/**
* Данная функция привязывает действие callback к нажатию
* клавиш Cntrl + Клавиша (targetKey)
*
*/
function controlPlusKey( targetKey, callback )
{
// добавляем событие нажатия клавиш на документ
document.addEventListener('keydown', event => {
// если нажаты клавишы Cntrl и targetKey
if( event.ctrlKey && event.which == targetKey.charCodeAt(0) ) {
// запрещаем действие по умолчанию
event.preventDefault();
// вызываем наше действие
callback();
}
}, false);
}
// используем так
controlPlusKey('D', () => console.log('Нажаты клавиши Cntrl + D'));
controlPlusKey('Z', () => console.log('Нажаты клавиши Cntrl + Z'));
controlPlusKey('F', () => console.log('Нажаты клавиши Cntrl + F'));
</script>
</body>
</html>
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.