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

时间:2014-10-14 09:24:43

标签: javascript angularjs keyboard-events

我在我的应用程序中使用AngularJS,我想使用组合 Ctrl + N 进入状态并查看负责在我的应用程序中创建新对象。问题是这个组合在我的互联网浏览器中打开了一个新窗口。

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

我知道ng-keyup指令,我能抓住单个键,比如 Shift Ctrl ,但我想抓住组合 Ctrl + N 并转到新视图。

现在我有以下代码:

HTML

ng-keyup="keyPress($event)

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

不幸的是,方法preventDefault()无法正常工作,按 Ctrl + N 仍会打开一个新窗口。

1 个答案:

答案 0 :(得分:1)

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

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

   ...
 });

修改