Angular: как нажать на модальную кнопку, когда пользователь нажимает Enter?

У меня есть несколько модальных интерфейсов Angular. В каждом модальном окне есть кнопка Отмена и кнопка "Действие" (это может быть Создать, Удалить и т. д.).

Я использую директиву ui-keyup из пользовательского интерфейса Angular, чтобы определить, когда пользователь нажимал кнопки.

Я хотел бы нажать кнопку «Действие», когда пользователь нажимает Enter.

Как я мог этого добиться?

Вот до чего я дошел: http://plnkr.co/edit/n6dgiE?p=preview


person Misha Moroshko    schedule 12.02.2013    source источник


Ответы (1)


http://plnkr.co/edit/icKazZ?p=preview

Итак, я просто удостоверился, что createIt() доступен на ui-event (переместив контроллер на <body>), и просто активировал его напрямую.

Теперь предположим, что это невозможно (между тегом body и функцией createIt() слишком много слоев). Что вы МОГУТ сделать, так это поместить какую-то функцию глобального обработчика или службу в $rootScope, а затем передать запуск. Однако связь между областями или между контроллерами выходит за рамки этого вопроса :-)

person ProLoser    schedule 12.02.2013
comment
Я думаю, вы упустили суть вопроса. В вашем примере: 1. Когда открывается диалоговое окно Удалить что-либо и вы нажимаете Enter, вызывается createIt(), а не deleteIt(). 2. Только при нажатии Enter следует вызывать createIt() или deleteIt(). 3. Если ни одно из модальных окон не открыто, и вы нажали Enter, ничего не должно произойти. - person Misha Moroshko; 12.02.2013