Приведенный ниже код работает отлично, но я пытаюсь достичь здесь того, что я хочу прослушать ключ ctrl + b и вывести какое-то значение в соответствии с ним.

  document.addEventListener( 'keydown', (event) => {
    event.preventDefault();
    if (event.code === 'ControlLeft') {
      console.log('CTRL Left Pressed')
    }
});

Я пробовал оператор && в приведенном ниже примере, но у меня он не работает.

  document.addEventListener( 'keydown', (event) => {
    event.preventDefault();
    if (event.code === 'ControlLeft' && event.code === 'KeyB') {
      console.log('CTRL Left and b Pressed')
    }
});
0
random_18 9 Апр 2021 в 09:41

2 ответа

Лучший ответ

Проверьте эту ссылку;

https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/ctrlKey

KeyboardEvent имеет свойство ctrlKey, специально предназначенное для таких целей.

Тогда ваш код станет;

document.addEventListener( 'keydown', (event) => {
    event.preventDefault();
    if ( event.code === 'KeyB' && event.ctrlKey === true ) {
      console.log('CTRL Left and b Pressed')
    }
});
1
Alain Doe 9 Апр 2021 в 06:45
document.addEventListener( 'keydown', (event) => {
    event.preventDefault();
    if( true === event.ctrlKey && 'b' === event.key ) 
    console.log('CTRL+B Combination true!')
});
Press CTRL+B Combination.
1
BOZ 9 Апр 2021 в 06:50