を: -
クリック可能な要素を持つショートカットのバインディングを格納するグローバルサービスを作成します。 注: - コンポーネント上のバインディングを削除するためにNgOnDestroyを使用してください。
このように、キーコードを入力する指示文を作成します。
<button [angularHotKey]="[17,78]">New Document</button>
<!-- CTRL = 17 & n = 78 -->
今、あなたのルートほとんどのコンポーネントで、キー入力を聞いて、ホットキーのためのグローバルサービスの要素を見つけるための指標としてそれらを使用しています。今では参照を取得することで、このようなことをします。
私はあなたがフォーマットされていると仮定は、-... = 1-23-32この形式でキーコードを記録フォーマットを降順/昇順で並べ替えることを忘れてはいけない、 両方のサービスに鍵ペアの配列に追加しながら
if(this.keypair[combo].length)this.keypair[combo].click();
this.keypair[combo]
を確認しながらするangularHotKey directive
が追加された要素の参照を含みます。
注:angularHotKey
ディレクティブで、新しいキーペアと要素/クリック可能な参照を追加しているときに同じコンボでペアが存在するかどうかをチェックしてください。例外が発生した場合、デバッグ中に役立ちます。愚かな間違いを避け、ngOnDestroyメソッドのAngular 2コンポーネントクラスでは、子要素とペアになっているすべてのショートカットを削除するロジックを定義します。
http://keycode.info/にアクセスして、キーボードにあるすべての種類のキーのキーコードを取得してください。
JavaScript multiple keys pressed at once
が '' 「のサポートされていないようだコンボキーの押下に対処する方法についてのあらゆる小さい細部と答え?(ウィンドウ:?のKeyDown) '。おそらくhttps://github.com/angular/angular/blob/630d93150a58581a0d474ebf1befb5d09b6813c5/modules/angular2/src/platform/browser/browser_adapter.dartに掲載されているコードのみ –
私のキーボードでは?実際は "Shift + /"で、(ウィンドウ:keydown)はそれらを別々にキャッチします。 –
あなたの最後のコメントから何を作るか分かりません。それは質問なのか解明なのか...? –