【发布时间】:2013-02-01 12:58:58
【问题描述】:
我想在用户暂停输入时触发 ajax 操作(而不是在每次按键后)。所以我做了这样的事情:
当用户在空闲 3 秒后停止输入时,将执行功能完成......(它是 - 但为什么长短语要运行 3 次 - 我希望它只运行一次,因为我在每次按键后清除超时)。有什么问题?
var timer;
var interval = 3000;
$('#inp').keyup(function() {
timer = setTimeout(done, interval);
});
$('#inp').keydown(function() {
clearTimeout(timer)
});
function done() {
console.log('ajax');
}
jsfiddle 上的工作示例: http://jsfiddle.net/vtwVH/
【问题讨论】:
标签: javascript jquery