js / ajax w / onkeypress with throttling

时间:2012-06-11 16:30:34

标签: javascript jquery keypress onkeyup

作为人物类型处理动态请求。 想尝试扼杀它,所以不是每次按键都会拨打电话。

首先想到的是做一个1秒的超时并用每个按键清除超时,因此等到推迟请求之前有1秒的延迟。

想知道是否有更清洁的建议

2 个答案:

答案 0 :(得分:1)

Underscore.js提供一个限制功能,可以创建一个每x毫秒只执行一次的函数版本。你可能想看看那个

答案 1 :(得分:0)

如果您没有很多可以同时运行的其他脚本,那么该解决方案将会正常运行。

否则,您可以设置if循环,例如每5次按键触发一次调用。 像这样:

if(i == 5) {
    //Execute your call
}

然后你每按一次键就增加i的值。

但当然还有更多的解决方案。