根据我的经验,input type="text" onchange事件通常仅在您离开(blur)控件后才会发生。
input type="text"
onchange
blur
有没有一种方法可以强制浏览器在onchange每次textfield内容更改时触发?如果没有,“手动”跟踪此问题的最优雅方法是什么?
textfield
使用onkey*事件并不可靠,因为您可以右键单击该字段并选择“粘贴”,这将更改该字段而无需任何键盘输入。
onkey*
是setTimeout唯一的方法吗?..丑陋的:-)
setTimeout
因此,您是否希望onchange事件在按键,模糊 和 粘贴时触发?太神奇了。
如果您想跟踪键入的更改,请使用"onkeydown"。如果需要用鼠标捕获粘贴操作,请使用"onpaste"IE,FF3和"oninput"FF,Opera,Chrome,Safari。
"onkeydown"
"onpaste"
"oninput"
1 断为<textarea>在Safari。使用textInput替代
<textarea>
textInput