私のアプリケーションには、いくつかの設定情報を含むパネルがあります。このパネルはボタンクリックで開閉しますが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");
}
});
キーアップとキーダウンも試しましたが、何も起こりません。これは「入力」タイプのビューではなく、単なる標準ビューであるためだと思います。では、キー イベントからビューでメソッドをトリガーするにはどうすればよいでしょうか。
これは、この特定の要素のルートのコンテキスト内にないことを明確にする必要があります。このビデオで見られるように、パネルをスタンドアロンで開いています。
http://screencast.com/t/tDlyMud7Yb7e
更新 1
これは、私が抱えている問題を説明するために作成した簡単なフィドルです。クリック イベントを非常に簡単にトリガーすることができますが、押された esc キーを検出し、特定のビューでメソッドをトリガーするページ全体のキーアップ イベントを探しています。