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