Я довольно новичок в AngularJS, но до сих пор нашел это по-своему. Для моего текущего проекта мне нужны функциональные клавиши и я рад видеть, что он поддерживается с момента выпуска версии 1.1.2.AngularJS ng-keydown директива работает только для <input> контекста?
Директива ng-keydown (http://code.angularjs.org/1.1.3/docs/api/ng.directive:ngKeydown) работает так, как ожидалось, для типов ввода, но не подходит для любого другого контекста, такого как div и т. Д., Что кажется странным, если в документации указано иное.
Вот минимальный пример (http://jsfiddle.net/TdXWW/12/) рабочий соответственно не работает:
<input ng-keydown="keypress($event)">
<div ng-keydown="keypress($event)">
Примечания: Я знаю, что это может быть обработано с простым JQuery (http://www.mkyong.com/jquery/how-to-check-if-an-enter-key-is-pressed-with-jquery/), но я предпочитаю, чтобы понять, как бороться с ним в AngularJS.
ДИВ, что не 'contenteditable' не вызывает фокус, когда clciked так нет активного элемента связывать' keypress' с. Попробуйте использовать ту же самую вещь, используя jQuery или собственный скрипт. Может привязывать событие к документу и проверять, что цель не является входным. Не уверен, что ваш вариант использования – charlietfl