6

我正在使用以下代码作为自动完成脚本的一部分,以避免每次击键都敲击服务器:

var that = this;

textInput.bind("keyup", function() {

    clearTimeout(that.timer);

    that.timer = setTimeout (that.doStuff(), 2000);

});

不幸的是,这并不能清除旧计时器。他们仍然都执行。

有谁知道我错过了什么?

谢谢!

4

1 回答 1

10

您可能想使用:

that.timer = setTimeout (that.doStuff, 2000);

代替:

that.timer = setTimeout (that.doStuff(), 2000);

否则,将立即调用 doStuff。

于 2010-04-11T22:04:01.950 回答