我想在用户暂停输入时触发 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/