Будет ли эта горячая клавиша работать для пользователей Mac?

Я использую следующий код, чтобы поймать, когда люди нажимают Ctrl+Shift+P для моего расширения Chrome:

window.addEventListener("keydown", function(event) {
  var modifier = event.ctrlKey || event.metaKey;
  if (modifier && event.shiftKey && event.keyCode == 80) {
    //code goes here
  }
});

Я надеюсь, что строка var modifier = event.ctrlKey || event.metaKey; означает, что она поймает, когда пользователи Mac нажмут Cmd-Shift-P, но у них нет компьютера Mac, чтобы проверить это. Это так? Будет ли моя горячая клавиша работать для пользователей Mac?

Кроме того, что такое keyCode, когда клавиша Cmd опускается и поднимается? Это 17, то же, что и для Ctrl?


person flea whale    schedule 28.11.2011    source источник


Ответы (1)


Коды клавиш различаются в разных браузерах. Здесь вы можете найти дополнительную информацию по этому вопросу: Как работает один захват командной клавиши Mac через JavaScript?

На моем Mac в Chrome я получаю код ключа 91, но он будет отличаться, в связанном сообщении они упоминаются: Firefox: 224 Opera: 17 WebKit (Safari/Chrome): 91 (левое яблоко) или 93 (правое яблоко)

Также есть ссылка на эту страницу, которая рассказывает все об этом: http://unixpapa.com/js/key.html

Ваш код работает в Chrome на Mac (нажатие cmd+Shift+P).

person span    schedule 28.11.2011