Обработка сочетания клавиш в JavaScript

  —  1 минута

#theory#javascript#code
Читать статью в Telegram

Чтобы обработать сочетание клавиш, необходимо подписаться на событие keydown. В большинстве случаев вы будете подписываться на document, если сочетание клавиш глобальное по всему приложению.

Для примера возьмём сложное сочетание клавиш: command(alt) + shift + U

javascript
1document.addEventListener('keydown', function(event) {
2    if (event.metaKey && event.shiftKey && event.key === 'U') {
3        // че-то делаем на нажатие
4    }
5});
6

Но тут стоит учитывать, что metaKey в разных браузерах работает по разному, в том числе могут быть проблемы в Safari. Самым безопасным вариантом будет следующий код:

javascript
1document.addEventListener('keydown', function(event) {
2    const isApple = /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform);
3    
4    if ((isApple && event.metaKey && event.shiftKey && event.key === 'U') ||
5      (!isApple && event.altKey && event.shiftKey && event.key === 'U')) {
6        // че-то делаем на нажатие
7    }
8});
9

Статья была полезной?