是否可以使用ng-keypress听取箭头按键?

Mat*_*ood 5 javascript keypress event-listener angularjs

我正在尝试创建一个类似于konami代码的交互"up,up,down,down,a,b,a,b,enter" - >有些事情发生了.

是否可以使用ng-keypress听取箭头按键?它似乎不起作用?

HTML:

input( ng-keypress='changed($event)'  )
Run Code Online (Sandbox Code Playgroud)

JS

$scope.changed = (evt) ->
    console.log(evt)
Run Code Online (Sandbox Code Playgroud)

这不会退出箭头键事件?

我是否必须在窗口上推出自己的听众?如果是这样我怎么能在角度上实现这个目标?

Dar*_*n P 21

DEMO

$scope.key = function($event){
    console.log($event.keyCode);
    if ($event.keyCode == 38)
        alert("up arrow");
    else if ($event.keyCode == 39)
        alert("right arrow");
    else if ($event.keyCode == 40)
        alert("down arrow");
    else if ($event.keyCode == 37)
        alert("left arrow");
}
Run Code Online (Sandbox Code Playgroud)

编辑

将其更改ng-keypress为ng-keydown. DEMO

<input ng-keydown="key($event)" />
Run Code Online (Sandbox Code Playgroud)

  • 有趣的是,我在使用谷歌浏览器时没有收到警报?它适用于firefox大声笑? (2认同)