角度では、ユーザがEnterキーを押したときに検出するために<input (keyup.enter)"onEnter($event)">
と書くことができます。特定のキー押しイベントに対するイベントバインディング
私は他のキーesc
、space
、shift
など
しかし、どのように検出することで行うことができます同じことをするときにユーザーを押しshift
+ up
?
サポートされているキーの組み合わせはありますか?(私は公式ドキュメント内の任意のを見つけるcould'n)
角度では、ユーザがEnterキーを押したときに検出するために<input (keyup.enter)"onEnter($event)">
と書くことができます。特定のキー押しイベントに対するイベントバインディング
私は他のキーesc
、space
、shift
など
しかし、どのように検出することで行うことができます同じことをするときにユーザーを押しshift
+ up
?
サポートされているキーの組み合わせはありますか?(私は公式ドキュメント内の任意のを見つけるcould'n)
あなたは(keyup)
を使用して、キーが押されたためevent
をチェックし、shiftKey
用することができます
HTML
<input type="text" (keyup)="myFunc($event)"/>
機能内部コンポーネント
private myFunc(event: KeyboardEvent): void {
if (event.key === 'ArrowUp' && event.shiftKey) {
// Your code
}
}
はい、あなたはこのようにそれを達成することができます:
<input (keyup)="onKeyUp($event)">
...とあなたのtypescriptですコードで:ここで
onKeyUp($event): void {
if ($event.shiftKey && $event.which === 38) {
// Place your logic here
}
}
がPLUNKER DEMO作業へのリンクです。これは、私はそれを愛する動作する場合
<!-- Listen to Shift + Up -->
<input (keyup.shift.arrowup)="...">
<!-- Listen to Ctrl + Shift + Down -->
<input (keyup.control.shift.arrowdown)="...">
<!-- Listen to Esc within window -->
<div (window:keyup.esc)="...">
これは可能な解決策の1つです。しかし、おそらく、このようなものを書く方法があります。 '(keyup.shift + up)=" ... "'! –
あなたは 'shift + up'ロジックをメソッドに入れなければなりません。私は私のプロジェクトで同じものを使用しています。 Ctrl + Sのための一般的なMacとWindowsソリューションの私の別の答えを見てください:https://stackoverflow.com/a/45569055/1791913 – Faisal
私はそれをやりたいと思った方法を見つけました。私は私の質問を更新しました。 –
: – Kevin
動作しません。 'up'を押すと呼び出される関数です。 'shift' +' up'を押しても呼び出されないので、 'event.shiftKey'がtrueであるかどうかはチェックできません。 –
@ taras-d残念なことに 'shift'を押しながら'(keyup.arrowup) 'を使用しているときにイベントがトリガされませんでした。私は自分の答えを更新しました。 – Arg0n