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のトグルがあります。私はそれが非同期ではないことを通知することが可能かどうか疑問に思います。私のcontenteditableで、私はkeydownの入力を制御し、keyupイベントのキャレット位置をリセットします。同期して発射しないと、キーボードイベントが速やかに発射されたときに倒れます。 –