参考着做个方法,处理js不能触发value改变事件,---只是定时器用时间间隔检查和处理,如果要求严格的,可能并不适用
参考:http://blog.csdn.net/zhbitxhd/article/details/12943091
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <meta charset="utf-8" /> <script src="source/jquery.min.js" type="text/javascript"></script> </head> <body> <table> <tr> <td>此处输入值:</td> <td><input id="x_userName" type="text" name="userName" /></td> </tr> </table> <p id="message"> </p> <script type="text/javascript"> var bind_onchange = function (eleid, func) { var ctrl = $("#" + eleid); if ($.browser.msie) { ctrl.get(0).onpropertychange = function () { func(ctrl); }; } else { var intervalName; // 定时器句柄 // 获得焦点时,启动定时器 var text0 = ""; $(ctrl).focus(function () { intervalName = setInterval(function () { if (ctrl.val() == text0) return;//内容不同,触发func text0 = ctrl.val(); func(ctrl); }, 500);//500毫秒检查一次 }); // 失去焦点时,清除定时器 $(ctrl).blur(function () { clearInterval(intervalName); }); } } var s1jj = 0; bind_onchange("x_userName", function (obj) { $("#message").html(obj.val() + (s1jj++).toString()); }); </script> </body> </html>