看来你可以使用
ng-keydown这样做.
对于这个例子,我刚刚将ng-keydown绑定到< body>.全面掌握所有的键盘事件,效果非常好.
正如@charlietfl指出的那样,ng-keydown注册了大量的键盘事件,使得这个可用的功能将会很多.例如,如果您尝试收听组合(如ctrl r),则ctrl键将会注册多次.
JS:
var myApp = angular.module('myApp',[]); myApp.controller('Ctrl',function($scope) { $scope.keyBuffer = []; function arrays_equal(a,b) { return !(a<b || b<a); } $scope.down = function(e) { $scope.keyBuffer.push(e.keyCode); var upUp = [38,38,40,37,39,66,65]; if (arrays_equal(upUp,$scope.keyBuffer)) { alert('thats it!'); } }; });
HTML:
<body ng-controller="Ctrl" ng-keydown="down($event)">