Навигация по всему сайту в jQuery, но без использования Command- на Mac - PullRequest
2 голосов
/ 09 ноября 2010

У меня есть функция в jQuery, которая выполняет что-то вроде следующего для обеспечения навигации по клавиатуре по сторонам.

function listenForNavKeys(e) {

  // Alt+1 Navigates home
  if(e.which == 49) {
    window.location.replace(location.protocol + '//' + location.host + '/application/views/home.php');
  }
}

Для примера этого в действии перейдите на Facebook и нажмите Alt + 2 для перехода к вашему профилю.На Mac это должно быть сделано с помощью Ctrl + Alt + 2 .Однако, когда я слушаю, например, ключ 50, этот keyCode отвечает также на Cmd + 2 .Это нежелательное поведение, поскольку именно так пользователи переключаются между вкладками в браузерах.Функциональность браузера все еще работает, но страница будет перемещаться в другое место, пока вы переходите на другую вкладку.

Итак, как сайт, подобный Facebook, правильно обрабатывает это событие?Какой ключевой код я должен действительно слушать?

1 Ответ

1 голос
/ 09 ноября 2010

Упс.Я понял это слишком быстро самостоятельно.Мои извинения.

Во-первых, мой код выше неверен.Я имел в виду // Alt+1 в коде.Во-вторых, я должен искать if(e.altKey && e.which == 49).Это даст вам правильный Alt + # комбо.

...