Angularjs 角度用户界面按键不';下键不能工作

Angularjs 角度用户界面按键不';下键不能工作,angularjs,angular-ui,Angularjs,Angular Ui,我试图让AngularUI按键在按下向下键时调用函数。据我所知,向下键是代码40。但是我无法触发事件 如果您看到这个JSFIDLE,它会在ENTER键上触发一个函数(尝试ENTER甚至13)。但是如果你把它改成40,它就不起作用了 主要 添加 {{item}} var myModule=angular.module('myModule',['ui.directives']); 函数Ctrl($scope){ $scope.item=“”; $scope.add=函数(){ $scope.ite

我试图让AngularUI按键在按下向下键时调用函数。据我所知,向下键是代码40。但是我无法触发事件

如果您看到这个JSFIDLE,它会在ENTER键上触发一个函数(尝试ENTER甚至13)。但是如果你把它改成40,它就不起作用了


主要
添加
{{item}}
var myModule=angular.module('myModule',['ui.directives']);
函数Ctrl($scope){
$scope.item=“”;
$scope.add=函数(){
$scope.item=“添加的项目”;
}
}

我是否有错误的代码,或者有人能告诉我出了什么问题吗?

JavaScript
keypress
事件不会为up、down、left或right触发。您希望改用
keyup
keydown
。在您的情况下,您需要:
ui-keyup=“{40:'add()'}”

注意:并非所有浏览器中的所有键(例如ALT、CTRL、SHIFT、ESC)都会触发onkeypress事件。要仅检测用户是否按下某个键,请改用onkeydown事件,因为它适用于所有键


JavaScript
keypress
事件不会为up、down、left或right触发。您希望改用
keyup
keydown
。在您的情况下,您需要:
ui-keyup=“{40:'add()'}”

注意:并非所有浏览器中的所有键(例如ALT、CTRL、SHIFT、ESC)都会触发onkeypress事件。要仅检测用户是否按下某个键,请改用onkeydown事件,因为它适用于所有键

<!DOCTYPE html>
<html ng-app="myModule" xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>Main</title>
</head>
<body ng-controller="Ctrl">
  <button ng-click="add()">Add</button>
  <input type="text" ui-keypress="{40: 'add()'}" />
  {{item}}
</body>
</html>


var myModule = angular.module('myModule', ['ui.directives']);
function Ctrl($scope) {
  $scope.item = "";

  $scope.add = function () {
    $scope.item = "Item Added";
  }
}