Angular 2 全局键检测
Angular 2 Global Key detection
如何使用 RC5 在文档上绑定一个键事件侦听器而不是 Angular 2 中的特定输入字段?
例如:
我知道这个"bind it to an element"
<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)">
目前不支持全局侦听器
你也可以为此使用 rxjs
fromEvent<KeyboardEvent>(document, 'keydown')
.pipe(...)
.subscribe()
参见:https://www.learnrxjs.io/learn-rxjs/operators/creation/fromevent
如何使用 RC5 在文档上绑定一个键事件侦听器而不是 Angular 2 中的特定输入字段?
例如:
我知道这个"bind it to an element"
<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)">
目前不支持全局侦听器
你也可以为此使用 rxjs
fromEvent<KeyboardEvent>(document, 'keydown')
.pipe(...)
.subscribe()
参见:https://www.learnrxjs.io/learn-rxjs/operators/creation/fromevent