「St」と入力すると、t を押すまでtextfield.value
に、onkeypress
/onkeydown
関数での入力を出力すると、「S」しか表示されません。
どうしてこれなの?このラグをなくすにはどうすればよいですか?
「St」と入力すると、t を押すまでtextfield.value
に、onkeypress
/onkeydown
関数での入力を出力すると、「S」しか表示されません。
どうしてこれなの?このラグをなくすにはどうすればよいですか?
keyup
の代わりにイベントを使用してkeypress
ください。(明らかに)keydown
キーストローク前の値が表示されます。keypress
イベント内ではkeypress
、入力された文字が登録されないようにすることも可能であるため、入力の値はkeypress
イベントが終了するまで更新できません。keyup
代わりにイベントを使用するかwindow.setTimeout()
、遅延を設定するために使用できます。
キーアップイベントが発生するまでキーストロークが登録されないためです。したがって、onkeyup
の代わりにイベントを検出する必要がありonkeypress
ます。