В моем приложении у меня есть панель, содержащая некоторые данные настроек. Эта панель открывается/закрывается нажатием кнопки, но я также хотел бы закрыть ее, нажав esc
на клавиатуре.
Код для моего представления выглядит следующим образом:
Social.MainPanelView = Ember.View.extend({
elementId: 'panel-account-settings',
classNames: ['panel', 'closed'],
keypress: function(e){
console.log(e);
console.log('keypress');
},
close: function(){
this.$().prepareTransition().addClass("closed");
}
});
Я попробовал keyup и keydown, но ничего не происходит. Я подозреваю, что это потому, что это не тип ввода, а просто стандартный вид. Итак, как я могу вызвать метод в представлении из ключевого события?
Я должен уточнить, что это не входит в контекст Маршрута для этого конкретного элемента. Я открываю панель отдельно, как показано на этом видео:
http://screencast.com/t/tDlyMud7Yb7e
ОБНОВЛЕНИЕ 1
Вот сценарий, который я создал, чтобы проиллюстрировать возникшую у меня проблему. Я могу получить событие click для запуска довольно легко, но я ищу событие с клавиатурой на странице, которое будет обнаруживать нажатие клавиши esc и запуск метода на конкретном представлении: