Javascript 无法阻止chrome浏览器上的按键快捷方式

Javascript 无法阻止chrome浏览器上的按键快捷方式,javascript,jquery,html,google-chrome,Javascript,Jquery,Html,Google Chrome,我正在编写一个交互式应用程序,其中用户使用键盘执行操作。大多数击键都被正确捕获并执行,但在chrome上,当我按下(ctrl+t)键时,会打开一个新的选项卡,而不是调用我的按键事件。由于它在Firefox和InternetExplorer上运行良好,下面是示例代码 <html> <head> <style> #section { width: 80%; height: 500px;

我正在编写一个交互式应用程序,其中用户使用键盘执行操作。大多数击键都被正确捕获并执行,但在chrome上,当我按下(ctrl+t)键时,会打开一个新的选项卡,而不是调用我的按键事件。由于它在Firefox和InternetExplorer上运行良好,下面是示例代码

<html>
   <head>
      <style>
         #section {
         width: 80%;
         height: 500px;
         background: grey;
         margin: auto;
         }
      </style>
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
      <script>
         $(document).ready(function() {
           $("#section").keydown(function(e) {
             stopEvent(e);
             console.log(e.key + " down");
           });

           function stopEvent (e) {
             e.stopPropagation();
             e.preventDefault();
           }
         });
      </script>
   </head>
   <body>
      <div id="section" tabindex="1">
         <h2>Keyboard operations</h2>
      </div>
   </body>
</html>

#部分{
宽度:80%;
高度:500px;
背景:灰色;
保证金:自动;
}
$(文档).ready(函数(){
$(“#节”).keydown(函数(e){
停止事件(e);
console.log(e.key+“down”);
});
函数stopEvent(e){
e、 停止传播();
e、 预防默认值();
}
});
键盘操作

看看这是否有帮助

发件人:

在keydown和keyup上,事件对象还具有指示 键入键时正在按哪些修改键。这些 它们是:

事件.移位键
event.ctrlKey
event.altKey
event.metaKey


这取决于浏览器供应商。如果它不属于实际的计算机使用范围,他们不应该用JavaScript阻止它。事实上IE和Firefox允许这样做,这是非常令人惊讶的。预防ctrl-t我不希望能够预防。我同意。我猜他们认为如果你想要一个新标签,你仍然可以移动鼠标。检查这个