37

入力値がキーアップ/ダウン イベントでのみクリアされるプレースホルダーをエミュレートするディレクティブを単体テストしたいと考えています。

4

5 に答える 5

14

受け入れられた回答の使用に問題がありました。私は他の魂を見つけました。

var e = new window.KeyboardEvent('keydown', {
  bubbles: true,
  cancelable: true,
  shiftKey: true
});

delete e.keyCode;
Object.defineProperty(e, 'keyCode', {'value': 27});

$document[0].dispatchEvent(e);

実際の例はここにあります

于 2015-01-26T08:16:51.877 に答える
2

私は最近、この HostListener をコンポーネント (Angular 2) でテストしたいと考えていました。

  @HostListener('keydown.esc') onEsc() {
    this.componentCloseFn();
  };

そして、しばらく検索した後、これは機能しています:

..
nativeElement.dispatchEvent(new KeyboardEvent('keydown', {'key': 'Escape'}));
...
于 2017-12-01T13:37:16.673 に答える