Javascript, key press value is always one character behind the latest?

If I type 'St', by the time I press the t, if I output the input of textfield.value in the onkeypress/onkeydown functions, I only get 'S'.

Why is this? How do I get rid of this lag?

12
задан Zach Saucier 12 August 2016 в 14:50
поделиться

3 ответа

используйте событие keyup вместо keypress . keydown покажет значение до нажатия клавиши, как и keypress (очевидно).

16
ответ дан 2 December 2019 в 05:26
поделиться

В событии keypress по-прежнему можно предотвратить регистрацию набранного символа, поэтому значение ввода не может быть обновлено до тех пор, пока не будет выполнено событие keypress . Вместо этого вы можете использовать событие keyup или использовать window.setTimeout () для установки задержки.

11
ответ дан 2 December 2019 в 05:26
поделиться

Поскольку нажатие клавиши не регистрируется, пока не произойдет событие нажатия клавиши. Таким образом, вы должны обнаружить событие onkeyup вместо onkeypress .

1
ответ дан 2 December 2019 в 05:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: