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事件中的插入符號位置。如果它們不同步觸發,那麼當鍵盤事件被快速觸發時會被搞砸。 –