检测键 "delete" 是否被按下 angularJS

Detect if key "delete" was pressed with angularJS

嗨,我有以下代码:

angular.module("myApp", []).controller("myController", function($scope) {
  $scope.pressedKey = function(keyObj) {
    $scope.myKey = keyObj.key;
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-app="myApp" ng-controller="myController">
  <input ng-keypress="pressedKey($event)"><br>{{myKey}}
</div>

我在输入上使用 ng-keypress 来检测是否有按键事件以及单击了哪个键。我需要所有数字和字母以及输入和删除键。现在,数字、字母和输入都可以正常工作,但是当我单击删除键时,没有任何反应。我怎样才能用 angular 检测到它?

谢谢和干杯。

使用ng-keydown代替ng-keypress:

angular.module("myApp", []).controller("myController", function($scope) {
  $scope.pressedKey = function(keyObj) {
    $scope.myKey = keyObj.key;
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-app="myApp" ng-controller="myController">
  <input ng-keydown="pressedKey($event)"><br>{{myKey}}
</div>

您可以详细了解 keydownkeypress here 之间的区别。

比那更简单。

keypress 没有检测到删除键。改用 keydown 即可。