Подтвердить что ты не робот

Может ли AngularJS ng-Keyup проходить, в котором нажата клавиша?

Документация для 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?

4b9b3361

Ответ 1

Вы можете сделать что-то вроде передачи объекта $event.

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

Это указано в документации

Выражение для оценки при нажатии клавиши. (Объект события доступен как $event и может быть опрошено для keyCode, altKey и т.д.)

Ответ 2

Шаблон:

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

Контроллер:

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