2017-11-30 2 views
0

私は、HTML DOMのアクティブな要素にフォーカススタイルを設定するディレクティブを持っています。 今のところうまくいきますが、タブボタンを押したときにのみこのロジックを実行する必要があります。* focus * HostListenerのkeyCodeを取得する方法

@HostListener('focus', ["$event"]) 
    onFocus(event: KeyboardEvent) { 
     console.log("Focus called from HostListener"); 
    } 

そして私はイベントのkeyCodeプロパティをオブジェクト内に表示されません。

このイベントでこのkeyCodeを取得するにはどうすればよいですか?

答えて

0

HTML:

<input (keydown.Tab)="onKey($event)"> 

TS:あなたのhtmlで

onKey(event:any){ 
//Do logic 
} 
+0

大丈夫ですが、@HostListener( 'focus'、["$ event"])でdetect keyCodeが必要です。それが可能ならば。 –

+0

私はこれを達成する方法を知っていませんが、このイベントはあなたがキーを押すときではなく、2つの異なるイベントであり、同じイベント検出で組み合わせることはできません。キータブの検出で私の答えを編集します。 –

0

シンプルプットそれを:

<input (focus)="isFocused($event)" /> 

または非フォーカス:

<input (blur)="onBlur($event)" /> 

タブを検出する場合:

<input (input)="onInput($event)" /> 

もちろん、両方を組み合わせることもできます。しかし、入力にタブすると、(フォーカス)がトリガーされます。

関連する問題