我如何在使用Angular 2的RC5时,将键事件监听器绑定到文档而不是特定的输入字段呢?
例如:
我知道可以“将其绑定到元素”。
<input (keypress)="onKeyDown($event)" [(ngModel)]="something" type="text">
例如,我该如何将它绑定到文档上?
<div (keypress)="onKeyDown($event)"> <input /> ... </div>
我如何在使用Angular 2的RC5时,将键事件监听器绑定到文档而不是特定的输入字段呢?
例如:
我知道可以“将其绑定到元素”。
<input (keypress)="onKeyDown($event)" [(ngModel)]="something" type="text">
例如,我该如何将它绑定到文档上?
<div (keypress)="onKeyDown($event)"> <input /> ... </div>
@HostListener('window:keydown', ['$event'])
onKeyDown(event) {
...
}
您也可以这样做。
<div (window:keypress)="onKeyDown($event)">
或者<div (document)="onKeyDown($event)">
像声明式过滤一样的筛选
<div (window:keydown.alt.a)="onKeyDown($event)">
当前不支持全局监听器。
fromEvent<KeyboardEvent>(document, 'keydown')
.pipe(...)
.subscribe()
请查看:https://www.learnrxjs.io/learn-rxjs/operators/creation/fromevent
<div (window:keydown.alt.a)="onKeyDown($event)">
现在可以使用了。在同一个Github问题链接中,有一条评论于2016年11月24日关闭。下一个主要的Angular版本是在2017年3月23日发布的4.0.0,因此任何版本都应该可以使用。 - OSH