1. ホーム
  2. javascript

[解決済み] Angular 2 HostListenerのkeypressはエスケープキーを検出するか?

2023-04-21 06:22:32

質問

ページ上でキー入力を検出するために、以下のメソッドを使用しています。私の計画は、Escapeキーが押されたときに検出し、そうであればメソッドを実行することです。今のところ、私はどのキーが押されたかを記録しようとしているだけです。しかし、Escapeキーは決して検出されません。

@HostListener('document:keypress', ['$event'])
handleKeyboardEvent(event: KeyboardEvent) {
  console.log(event);
  let x = event.keyCode;
  if (x === 27) {
      console.log('Escape!');
  }
}

どのように解決するのですか?

を使ってみてください。 keydown または keyup イベントを捕捉するために Esc のキーを取得します。要するに document:keypressdocument:keydown.escape :

@HostListener('document:keydown.escape', ['$event']) onKeydownHandler(event: KeyboardEvent) {
    console.log(event);
}