可能重复:
如何从 javascript 检测文本框更改事件
如何在插入后立即检测到文本字段的插入值?change
事件仅在失去焦点后才会上升keyPress, keyUp, keyDown
,等无法帮助我,因为新值是从条形码扫描仪插入的(它不会上升这个键盘事件)。仅使用 Timer 并定期检查文本字段中的值?
可能重复:
如何从 javascript 检测文本框更改事件
如何在插入后立即检测到文本字段的插入值?change
事件仅在失去焦点后才会上升keyPress, keyUp, keyDown
,等无法帮助我,因为新值是从条形码扫描仪插入的(它不会上升这个键盘事件)。仅使用 Timer 并定期检查文本字段中的值?
您可以使用该oninput
事件。每当在该字段中进行输入时,它将触发。
有关更多信息,我将从以下博客中获得报价:http ://whattheheadsaid.com/2010/09/effectively-detecting-user-input-in-javascript (由@AndyE编写)
谈论onkeydown和计时器......
但是,这仍然不能处理不涉及键盘的输入。还有哪些其他类型的输入?上下文菜单操作怎么样?剪切、粘贴、撤消和重做?拖放?一段时间以来,已经有一些事件可以处理一些其他类型的输入更改——一些浏览器支持 onpaste、oncut 和 oncopy 事件——但它们是非标准的,一些供应商太固执而无法实现它们。
输入 HTML 5 事件 oninput。
对于一个跨浏览器的 jQuery 插件,你可以看看这个(同一作者):http ://whattheheadsaid.com/projects/input-special-event
你的意思是这个http://jsfiddle.net/SP69J/10/
功能
$(document).ready(check);
var previousvalue="";
function check(){
var val=$("#inputcontrol").val();
var interval;
interval = window.clearInterval(interval);
if(val!=previousvalue){
alert("value changed");
previousvalue=$("#inputcontrol").val();
}
interval = window.setInterval(check, 500);
}
根据需要设置间隔。
HTML:
<input type="text" id="inputcontrol">