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

JVG*_*JVG 27 javascript angularjs

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

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

视图:

<div class="container" ng-keyup="keyPress(e)"></div>
Run Code Online (Sandbox Code Playgroud)

控制器:

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

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

Cha*_*ani 52

你可以做一些事情,传递$event对象.

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

这在文档中提到

表达以评估密钥.(事件对象可用作$ event,可以查询keyCode,altKey等)

  • 示例keyPress($ event)很好,文档没有显示这个. (4认同)

小智 25

模板:

<div class="container" ng-keyup="keyPress($event.keyCode)"></div>
Run Code Online (Sandbox Code Playgroud)

控制器:

$scope.keyPress = function(keyCode){
   console.log(keyCode); 
}
Run Code Online (Sandbox Code Playgroud)