Я сделал программу, которая выполняет некоторую обработку на входе пользователя. Но вместо обработки ввода как пользовательских типов я хочу, чтобы он обрабатывался через 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: функция не определена "ошибка при вызове с кавычками.
Любая помощь будет оценена :)