angularjs $event 得到一个键的大写和小写相同的代码

angularjs $event get the same code for uppercase and lowercase for a key

我正在努力使用 angularjs $event 创建热键。我需要简化大写和小写的代码。但是我从 console.log($event) 来看他们有不同的 keyCode。

p 为 112 P 为 80

HTML:

<body ng-app="pointofsale" ng-controller="PointofSaleCtrl" ng-keypress="hotKeyEvent($event)">

Javascript:

$scope.hotKeyEvent = function(data){
    console.log(data);

    switch(data.keyCode){
        case 112: // p

            break;
        case 80:  // P

            break;

        default:
            console.log('No key associated')

    }
}

我在这里错过了什么?我不想为相同字符但不同大小写创建两个条件。

感谢任何帮助,谢谢!

您可以通过对 case 语句进行分组来简化您的 switch

像这样:

switch(data.keyCode){

         case 112: // p
         case 80:  // P

            break;       

        default:
            console.log('No key associated')
    }

它被称为落空 - 本质上,任何匹配的东西都会继续 运行 直到 break 被击中。

也使维护变得更加容易。