我使用以下代码作为自动完成脚本的一部分,以避免每次按键敲击服务器:
var that = this; textInput.bind("keyup",function() { clearTimeout(that.timer); that.timer = setTimeout (that.doStuff(),2000); });
不幸的是,这并没有清除旧的计时器.它们仍然都在执行.
有谁知道我错过了什么?
谢谢!
解决方法
您可能想要使用:
that.timer = setTimeout (that.doStuff,2000);
代替:
that.timer = setTimeout (that.doStuff(),2000);
否则,将立即调用doStuff.