我有一个应用程序,当我一次按下键盘“D + F”时,我需要输入输入“b”值,当我只按“D”时,我需要在输入中输出字符“a”
一切正常,但我们有一个超时问题,我需要同时按“D + F”而不是按“D”按下。
下面的是组件的代码片段
export class App {
name:string;
letter:string ='';
constructor() {
this.name = 'Angular2';
}
map = {};
@HostListener('document:keyup', ['$event'])
@HostListener('document:keydown', ['$event'])
keUp(e) {
this.map[e.keyCode] = e.type == 'keydown';
if( this.map[68] && this.map[70]) {
console.log('Keypress D + F ');
this.letter = 'b' // Should print letter 'b' in input
}
else if( this.map[68]) {
this.letter += 'a';
console.log('Keypress D');
}
}
}