关于网友提出的“根据keyup 来ajax表单来验证数据时, 如何只检查最后一次keyup, 而不是每次keyup”问题疑问,本网通过在网上对“根据keyup 来ajax表单来验证数据时, 如何只检查最后一次keyup, 而不是每次keyup”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:根据keyup 来ajax表单来验证数据时, 如何只检查最后一次keyup, 而不是每次keyup
描述:我要在每次keyup事件时用ajax来验证数据. 但在验证时如果有其他keyup时间就停止当前, 执行最后一次.
我试过5秒后, 但5秒后还是执行了全部的keyup事件.
求指点.
解决方案1:keyup事件会进入队列,总归要执行的,你设置一个状态位,keyup之后关闭,ajax结束以后开启,不知你是不是这个意思
解决方案2:可以考虑事件节流方式,如:
你规定500毫秒以后执行ajax,那么你可以设置一个timer,如果第一次keyup和第二次keyup的时间小于500则清除timer,否则执行timer
解决方案3:那就不要keyup了,blur吧。
解决方案4:var timeout;
$input.on('input', function(e){
clearTimeout(timeout);
timeout = setTimeout(function(){
$.post(...);
},5000);
});
以上介绍了“根据keyup 来ajax表单来验证数据时, 如何只检查最后一次keyup, 而不是每次keyup”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1059561.html