Показать сообщение отдельно
  #1 (permalink)  
Старый 21.02.2012, 15:45
Новичок на форуме
Отправить личное сообщение для SiZE Посмотреть профиль Найти все сообщения от SiZE
 
Регистрация: 04.05.2009
Сообщений: 7

Ожидание окончания ввода в поле input
Не знаю как правильно сформулировать мысль, поэтому извиняюсь если тема уже повторялась.

Есть вот такой код, в кратце:
$('input[type="text"]').keypress(myFunc);

function myFunc(){
 alert( $(this).val() );
}


Хочется сделать вызов myFunc после того, как пользователь завершил ввод. Т.е. с момента последнего нажатия клавиши прошло больше 1 секунды. Или поставить myFunc в очередь и отслеживать повторные вызовы.

Сейчас я просто устанавливаю время последнего нажатия, засекаю его в другой переменной. Затем устанавливаю таймаут вызова myFunc в 1 сек. После чего проверяю, изменилось ли время последнего нажатия. Если нет, считаю, что пользователь завершил ввод и можно выполнить функцию, иначе выхожу.
Получается, что для каждого нажатия клавиши, срабатывает эта проверка. Интуитивно чувствую, что есть другой способ, но не понимаю, как реализовать его.

Ответить с цитированием