Angular UI ui-keypress不适用于向下键

iam*_*esy 1 angularjs angular-ui

我正试图通过angular-ui ui-keypress在按下向下键时调用一个函数.从我发现的向下键是代码40.但是我无法触发事件.

如果你看看这个触发ENTER键的函数的jsfiddle(尝试输入甚至13).但如果你将其改为40则不起作用.http://jsfiddle.net/jayrmotta/NbjZL/70/

<!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";
  }
}
Run Code Online (Sandbox Code Playgroud)

我有错误的代码还是可以告诉我什么是错的?

Lan*_*don 8

JavaScript keypress事件不会向上,向下,向左或向右触发.你想用keyupkeydown代替.在您的情况下,您想要:ui-keyup="{40: 'add()'}"

http://www.w3schools.com/jsref/event_onkeypress.asp

注意:并未针对所有浏览器中的所有键(例如ALT,CTRL,SHIFT,ESC)触发onkeypress事件.要仅检测用户是否按下了某个键,请使用onkeydown事件,因为它适用于所有键.