扫码关注官方订阅号
家庭户号:<input type='text' name='jthh'/>
现在是想要实现我输入家庭户号ajax查一些东西,然后我用keyup监听,但是我不想每次输入都去查,想等用户输完等待一段时间后在去查,这个要怎么实现呢?
keyup
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
大体的思路是,本来是立即去做doAjax()的,现在把它放到一个setTimeout()的延时任务。然后,每次触发keyup的时候用clearTimeout()取消上一个延时任务。 这样,当键盘事件连续、快速地触发的时候,是没有用的,只有当键盘输入停下,并过了至少一点时间之后,才会真正去执行ajax任务。
doAjax()
setTimeout()
clearTimeout()
比如原本是:
function doAjax() { // ajax } function handleKeyUp(event) { doAjax(); }
修改为:
var timeFlag = null; function doAjax() { // ajax } function handleKeyup(event) { clearTimeout(timeFlag); timeFlag = setTimeout(doAjax, 1000); }
http://www.cnblogs.com/dolphinX/p/3403821.html
函数节流。
监听blur事件,失去焦点再触发ajax动作
比如说你的家庭号有多长,或者什么规则。判断符合这个长度和规则,然后ajax请求。简单来说就是对家庭号做一个正则验证,符合验证规则,那么ajax请求,不符合不请求。
setTimeout
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
大体的思路是,本来是立即去做
doAjax()的,现在把它放到一个setTimeout()的延时任务。然后,每次触发keyup的时候用clearTimeout()取消上一个延时任务。 这样,当键盘事件连续、快速地触发的时候,是没有用的,只有当键盘输入停下,并过了至少一点时间之后,才会真正去执行ajax任务。比如原本是:
修改为:
http://www.cnblogs.com/dolphinX/p/3403821.html
函数节流。
监听blur事件,失去焦点再触发ajax动作
比如说你的家庭号有多长,或者什么规则。判断符合这个长度和规则,然后ajax请求。简单来说就是对家庭号做一个正则验证,符合验证规则,那么ajax请求,不符合不请求。
setTimeout