Может ли 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?
Ответы
Ответ 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);
}