0
如何让Angular 4/2按键事件同步运行? 当我运行这个代码时,键并不总是按照点火顺序运行。为什么Angular Keystrokes不能同步运行?或者我如何让它们同步运行?
模板
<div
contenteditable="true"
(keydown)="divKeyDown($event)"
(keyup)="divKeyUp($event)">
</div>
组件
divKeyDown(event) {
console.log('Keydown');
// OFTEN GETS FIRED BEFORE KEYUP OF PREVIOUS STROKE
}
divKeyUp(event) {
console.log('Keyup');
}
你需要像这样的Plnkr吗? https://plnkr.co/edit/GYWY2HxFz41tmiXswFNs?p=preview(按下Ctrl键),检查我是否使用@HostListener。 –
@JancoBoscan我看到与发布的OP相同的问题(https://plnkr.co/edit/xN38ZlziYdqYI8qJsDDZ?p=preview)。 JustinLevine我认为这个功能发生是因为keyup&keydown是独立的事件流。所以我不知道是否有什么可以做的。你想达到什么目的? – LLai
@LLai我相信这是因为EventEmitter在后台使用,但是在其构造函数中有一个isAsync切换。我想知道是否有可能通知它它不是异步的。在我的理解中,我控制了keydown上的输入,然后重置keyup事件中的插入符号位置。如果它们不同步触发,那么当键盘事件被快速触发时会被搞砸。 –