【问题标题】:Detect if key "delete" was pressed with angularJS检测是否用angularJS按下了键“删除”
【发布时间】:2016-07-06 09:41:13
【问题描述】:

您好,我有以下代码:

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 来检测是否有键事件以及单击了哪个键。我需要所有数字和字母以及输入和删除键。现在,数字、字母和输入都可以正常工作,但是当我单击删除键时,什么也没有发生。我怎样才能用角度检测它?

感谢和欢呼。

【问题讨论】:

    标签: html angularjs keypress


    【解决方案1】:

    使用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 之间的区别。

    【讨论】:

    • 您好,谢谢!我会尽快标记为正确的!干杯。 :)
    【解决方案2】:

    比这更简单。

    keypress 没有检测到删除键。改用keydown 就可以了。

    【讨论】:

      猜你喜欢
      • 2010-12-05
      • 2011-07-27
      • 2011-06-22
      • 2016-10-31
      • 1970-01-01
      • 2012-08-18
      • 1970-01-01
      • 2021-04-04
      • 1970-01-01
      相关资源
      最近更新 更多