javascript - clearTimeout 在 javascript 自动完成脚本中不起作用

标签 javascript jquery settimeout

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

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/

相关文章:

javascript - 从输入字段中删除类型文本

由于 adblock,Javascript Ajax 请求在 chrome 中失败,我有什么选择?

javascript - 在 Crossrider 中收集事件选项卡 HTML 内容

javascript - 使用相同数据延迟对相同 URL 的 Ajax 调用

vue.js - 为什么 vue.js 中的 setTimeout 有这种奇怪的行为?

javascript - 我无法理解此 JavaScript 语句中的括号

javascript - Highcharts 对齐多个饼图

javascript - 一个简单的 jQuery/AJAX 查询

jquery - 转换 div 内的文本

javascript - 使用变量时不执行 setTimeout() 方法