私はユーザー入力に対して何らかの処理を行うプログラムを作成しました。しかし、ユーザーの入力として入力を処理する代わりに、ユーザーが入力を停止した後に1秒間処理されることを望みます。 setTimeoutが正しく動作しません
は私が のsetTimeout()を使用してみましたが、これは私が直面してる問題です:1) 私は引用符で囲まれた関数名を書くとき、それは指定した時間後に動作します。
コード:
function test_function(input, data) {
$('#write_on_me').keyup(function() {
clearTimeout(timer);
timer = setTimeout("console.log('do something')", 1000);
});
$('#write_on_me').keydown(function() {
clearTimeout(timer);
console.log('clear timer');
});
}
test_function($('#write_on_me'));
2)私は引用符なしで関数を書くとき、私はタイプとして、それは処理を続けています。
コード:
function test_function(input, data) {
$('#write_on_me').keyup(function() {
clearTimeout(timer);
timer = setTimeout(console.log('do something'), 1000);
});
$('#write_on_me').keydown(function() {
clearTimeout(timer);
console.log('clear timer');
});
}
test_function($('#write_on_me'));
注: それは無名関数の中に囲まれ、「を与えているとして、処理は引用符で呼び出すことはできませんん、実際の機能Uncaught ReferenceError:関数が定義されていません "引用符でコールされた場合はエラーとなります。
すべてのヘルプは、この行は