Javascript 谷歌工作表如何覆盖浏览器快捷方式?

Javascript 谷歌工作表如何覆盖浏览器快捷方式?,javascript,google-chrome,google-sheets,keyboard-shortcuts,Javascript,Google Chrome,Google Sheets,Keyboard Shortcuts,我正在创建一个复杂的浏览器内应用程序,我想使用Chrome和/或其他主要浏览器当前使用的一些键盘快捷键。我在网上搜索,找不到覆盖浏览器快捷方式的方法,但我发现Google Sheets具有我想要的功能:用户可以选择覆盖浏览器快捷方式的选项 谷歌表单是如何做到这一点的 更新:澄清一下,因为这已经得到了一些否决票:我知道event.preventDefault()。问题是,它似乎不适用于像Ctrl+t(打开新选项卡)这样的组合键 一般的想法是截取事件,并在事件上调用event.preventDefa

我正在创建一个复杂的浏览器内应用程序,我想使用Chrome和/或其他主要浏览器当前使用的一些键盘快捷键。我在网上搜索,找不到覆盖浏览器快捷方式的方法,但我发现Google Sheets具有我想要的功能:用户可以选择覆盖浏览器快捷方式的选项

谷歌表单是如何做到这一点的

更新:澄清一下,因为这已经得到了一些否决票:我知道event.preventDefault()。问题是,它似乎不适用于像
Ctrl+t
(打开新选项卡)这样的组合键


一般的想法是截取事件,并在事件上调用
event.preventDefault()
,如果它对应于要覆盖的快捷方式。例如,如果按
control-1
,以下代码将阻止您导航到最左侧的选项卡:

document.body.addEventListener('keydown',(事件)=>{
//键代码49对应于“1”键
if(event.keyCode==49&&event.ctrlKey){
event.preventDefault();
log(“阻止默认操作,改为执行自定义操作”);
}
});
正文{
背景颜色:黄色;
}

先单击我
我尝试将您的代码添加到我的应用程序中,虽然它对
Ctrl+1
有效,但对
Ctrl+t
无效。然而,我也注意到Google Sheets并没有覆盖
Ctrl+t
,所以它可能是一个无法覆盖的浏览器快捷方式。哈,很有趣。因此,
Ctrl+1
在某种程度上与
Ctrl+t
处于不同的领域。我想知道为什么。