我将以下代码用作自动完成脚本的一部分,以避免每次击键都会重击服务器:
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将立即被调用。
关于javascript - clearTimeout在javascript自动完成脚本中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2618865/