Как Google Sheets переопределяет ярлыки браузера? - PullRequest
0 голосов
/ 12 октября 2018

Я создаю сложное приложение в браузере, и я хотел бы использовать некоторые сочетания клавиш, которые в настоящее время используются в Chrome и / или других основных браузерах.Я выполнил поиск в Интернете и не смог найти способ переопределить ярлыки браузера, но увидел, что в Google Sheets есть только та функциональность, которую я хочу: пользователь может выбрать опцию переопределения ярлыков браузера.

Как Googleлисты делают эту работу?

Обновление: чтобы уточнить, так как это получило некоторые отрицательные отзывы: я знаю о event.preventDefault ().Проблема в том, что он не работает для таких комбинаций клавиш, как Ctrl + t (открыть новую вкладку).

enter image description here

1 Ответ

0 голосов
/ 12 октября 2018

Общая идея заключается в том, чтобы перехватить событие и вызвать event.preventDefault() для него, если оно соответствует ярлыку, который вы хотите переопределить.Например, следующий код не позволит вам перейти на крайнюю левую вкладку, если вы нажмете control-1:

document.body.addEventListener('keydown', (event) => {
  // keyCode 49 corresponds to the "1" key
  if(event.keyCode==49 && event.ctrlKey) {
    event.preventDefault();
    console.log('default action prevented, doing custom action instead');
  }
});
body {
  background-color: yellow;
}
click me first

Повторите для любого количества кодов и модификаторов клавиш, которые вы хотите.

...