(キーを押すたびにではなく)入力を一時停止すると、Ajaxアクションが発生します。だから、私はこのようなものを作った:JavaScriptタイムアウトが1回ではなく3回発生します(clearTimeoutは機能していません)
アイドル状態になってから3秒後にユーザーが入力をやめると、それは実行されます...(しかし、長いフレーズの場合は3回ですが、すべてのkeydown後にタイムアウトをクリアしてから1回)。何が問題ですか ? jsfiddle上
var timer;
var interval = 3000;
$('#inp').keyup(function() {
timer = setTimeout(done, interval);
});
$('#inp').keydown(function() {
clearTimeout(timer)
});
function done() {
console.log('ajax');
}
の作業例: あなたが入力しhttp://jsfiddle.net/vtwVH/
http://stackoverflow.com/questions/1909441/jquery-キーアップ遅延 –