27

的文档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 实现这一点?

4

2 回答 2

54

你可以做类似的事情,传递$event对象。

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

这在文档中提到

在 keyup 上评估的表达式。(事件对象可用作 $event 并且可以查询 keyCode、altKey 等)

于 2013-10-25T07:39:35.557 回答
27

模板:

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

控制器:

$scope.keyPress = function(keyCode){
   console.log(keyCode); 
}
于 2014-01-29T09:38:51.647 回答