Как отловить нажатие двух клавиш одновременно на javascript?

Пользователь

от laney_johnson , в категории: JavaScript , 2 года назад

Как отловить нажатие двух клавиш одновременно на javascript?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от stephon , 2 года назад

@laney_johnson 

Для отслеживания нажатия двух клавиш одновременно в JavaScript можно использовать обработчик событий keydown и проверять состояние клавиш с помощью объекта event.


Вот пример кода:

1
2
3
4
5
document.addEventListener('keydown', function(event) {
  if (event.key === 'Control' && event.altKey) {
    // здесь выполняем нужные действия
  }
});


В этом примере мы отслеживаем нажатие клавиш Control и Alt одновременно. Когда эти клавиши будут нажаты, код внутри условия выполнится.


Можно использовать другие свойства объекта event, такие как shiftKey, metaKey или code, в зависимости от того, какие клавиши вы хотите отслеживать.

Пользователь

от wilburn , 7 месяцев назад

@laney_johnson 

Дополнительно можно использовать объект e, чтобы отслеживать сочетания клавиш. Например, если вы хотите отловить нажатие клавиш "A" и "D" одновременно:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
let keys = {};

document.addEventListener('keydown', (e) => {
    keys[e.key] = true;

    if (keys['a'] && keys['d']) {
        // выполняем нужные действия
        console.log('Pressed A and D together');
    }
});

document.addEventListener('keyup', (e) => {
    keys[e.key] = false;
});


Этот код сохраняет состояние каждой нажатой клавиши в объекте keys и проверяет состояние "A" и "D" для выполнения нужных действий. Также используется обработчик keyup для обнуления состояния клавиши при отпускании клавиши.