在使用angular的互联网浏览器之前捕获组合ctrl+n

Catch combination ctrl + n before internet browser using angular

本文关键字:组合 ctrl+n 浏览器 angular 互联网      更新时间:2023-09-26

我在我的应用程序中使用AngularJS,我想使用Ctrl+N组合来转到负责在我的程序中创建新对象的状态和视图。问题是,这种组合在我的互联网浏览器中打开了一个新窗口。

问题是:是否可以阻止这种组合并使用它转到我的应用程序中的新视图?

我知道ng-keyup指令,更重要的是,我可以捕获单个键,如ShiftCtrl,但我想捕获组合键Ctrl+N

现在我有以下代码:

HTML

ng-keyup="keyPress($event)

角度

$scope.keyPress = function(e) {
    e.preventDefault();
    if (e.ctrlKey) {
        var i = 2;
    }   
};

不幸的是,方法preventDefault()不起作用,按Ctrl+N仍然会打开一个新窗口。

我认为此时可以使用preventDefault()。字符n应该是密钥码78

 $(document).keydown(function (objEvent) {
  if (objEvent.ctrlKey && objEvent.keyCode== 78) {
   objEvent.preventDefault();
   ...
 });

编辑