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
被击中。
也使维护变得更加容易。
我正在努力使用 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
被击中。
也使维护变得更加容易。