Чтобы проверить, нажимаются ли одновременно две клавиши в JavaScript, вы можете использовать следующие методы:
-
Использование событий
keydown
иkeyup
:let keys = {}; document.addEventListener('keydown', (event) => { keys[event.key] = true; if (keys['KeyA'] && keys['KeyB']) { // Both keys A and B are pressed simultaneously console.log('Both keys A and B are pressed.'); } }); document.addEventListener('keyup', (event) => { delete keys[event.key]; });
Этот метод использует события
keydown
иkeyup
для отслеживания состояния клавиш. При нажатии клавиши соответствующее значение в объектеkeys
устанавливается вtrue
. Если одновременно нажать обе клавиши A и B, вы сможете выполнить желаемое действие. -
Использование события
keypress
:let keyA = false; let keyB = false; document.addEventListener('keydown', (event) => { if (event.key === 'KeyA') { keyA = true; } if (event.key === 'KeyB') { keyB = true; } if (keyA && keyB) { // Both keys A and B are pressed simultaneously console.log('Both keys A and B are pressed.'); } }); document.addEventListener('keyup', (event) => { if (event.key === 'KeyA') { keyA = false; } if (event.key === 'KeyB') { keyB = false; } });
Этот метод использует отдельные переменные для отслеживания состояния каждой клавиши (A и B) и проверяет, нажаты ли обе клавиши одновременно.
-
Использование прослушивателя событий для события
keydown
:let keysPressed = new Set(); document.addEventListener('keydown', (event) => { keysPressed.add(event.key); if (keysPressed.has('KeyA') && keysPressed.has('KeyB')) { // Both keys A and B are pressed simultaneously console.log('Both keys A and B are pressed.'); } }); document.addEventListener('keyup', (event) => { keysPressed.delete(event.key); });
Этот метод использует объект
Set
для отслеживания нажатых клавиш. Если обе клавиши A и B находятся в набореkeysPressed
, вы можете выполнить желаемое действие.