event.which和event.keyup无法在Firefox或两者中运行

时间:2017-06-11 07:32:41

标签: javascript angularjs

当用户按下“Enter”键时,我正在尝试提醒,Chrome使用“event.which”,但它似乎不适用于Firefox。 并且“event.keyup”似乎在两种浏览器中都不起作用。

HTML:

   <body ng-app="myApp">
      <div ng-controller="ctrl">

        <input type="text" ng-keyup="searchEnter()" placeholder="enter the text"/>

    </div>
  </body>

脚本:

 <script>
    var app=angular.module("myApp",[]);
     app.controller("ctrl", ['$scope',function($scope){

      $scope.searchEnter=function() {

      if(event.which==13){
       alert("u pressed enter key");
       }
     };

    }]);
 </script>

2 个答案:

答案 0 :(得分:1)

将事件传递给keyup函数并使用event内部函数。

&#13;
&#13;
var app=angular.module("myApp",[]);
     app.controller("ctrl", ['$scope',function($scope){

      $scope.searchEnter=function(event) {

      if(event.which==13){
       alert("u pressed enter key");
       }
     };

    }]);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="myApp">
      <div ng-controller="ctrl">

        <input type="text" ng-keyup="searchEnter($event)" placeholder="enter the text"/>

    </div>
  </body>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

在函数

中传递event对象
$scope.searchEnter=function(event){
//rest of code
}