如果我输入'St',当我按下't'键时,在onkeypress
/ onkeydown
函数中输出textfield.value
的输入,我只能得到'S'。
这是为什么?如何消除这种延迟?
如果我输入'St',当我按下't'键时,在onkeypress
/ onkeydown
函数中输出textfield.value
的输入,我只能得到'S'。
这是为什么?如何消除这种延迟?
使用 keyup
事件代替 keypress
事件。与 keypress
不同,keydown
事件将显示按键之前的值。
在 keypress
事件中,仍然可以防止输入的字符被注册,因此输入框的值直到 keypress
事件之后才能更新。您可以改用 keyup
事件,或使用 window.setTimeout()
设置延迟。
setTimeout
在零延迟时有不同行为的内容,尽管现在我找不到它了。 - Tim Downonkeyup
事件而不是 onkeypress
。