17

「St」と入力すると、t を押すまでtextfield.valueに、onkeypress/onkeydown関数での入力を出力すると、「S」しか表示されません。

どうしてこれなの?このラグをなくすにはどうすればよいですか?

4

3 に答える 3

24

keyupの代わりにイベントを使用してkeypressください。(明らかに)keydownキーストローク前の値が表示されます。keypress

于 2010-08-17T13:17:16.343 に答える
11

イベント内ではkeypress、入力された文字が登録されないようにすることも可能であるため、入力の値はkeypressイベントが終了するまで更新できません。keyup代わりにイベントを使用するかwindow.setTimeout()、遅延を設定するために使用できます。

于 2010-08-17T13:22:58.283 に答える
1

キーアップイベントが発生するまでキーストロークが登録されないためです。したがって、onkeyupの代わりにイベントを検出する必要がありonkeypressます。

于 2010-08-17T13:20:03.990 に答える