AngularJS ng-Keyup可以通过哪个键被按下了吗?

时间:2013-10-25 07:18:32

标签: javascript angularjs

Angular's ngkeyup的文档几乎不存在。我有一个容器div,我想要将键事件应用到,但我想从控制器中的函数控制它们。

我正在尝试做这样的事情:

视图:

<div class="container" ng-keyup="keyPress(e)"></div>

控制器:

$scope.keyPress = function(e){
   console.log(e); // where 'e' is the keycode of whatever was pressed
}

这有可能吗?我无法在ng-keyup实际上做什么以及如何使用它的任何地方找到任何信息!例如,我想在按下left arrow key (37)时触发事件,我将如何使用Angular实现此目的?

2 个答案:

答案 0 :(得分:52)

您可以执行类似的操作,传递$event对象。

<div class="container" ng-keypress="keyPress($event)"></div>

文档

中提到了这一点
  

表达式以在keyup上进行评估。 (事件对象可用作   $ event,可以查询keyCode,altKey等。)

答案 1 :(得分:25)

模板:

<div class="container" ng-keyup="keyPress($event.keyCode)"></div>

控制器:

$scope.keyPress = function(keyCode){
   console.log(keyCode); 
}