Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.07.2011, 15:39
Новичок на форуме
Отправить личное сообщение для Kiomot Посмотреть профиль Найти все сообщения от Kiomot
 
Регистрация: 10.07.2011
Сообщений: 5

Выполнение функции при паузе в наборе текста
Нужно сделать так, чтобы функция выполнялась только когда замечена пауза (2 секунды) в наборе текста в поле

Сейчас у меня функция срабатывает без замечания пауз
$('#my_input').keyup(function(){
    alert("Hello!");
});
Ответить с цитированием
  #2 (permalink)  
Старый 10.07.2011, 15:53
Аватар для Amphiluke
   ☽
Отправить личное сообщение для Amphiluke Посмотреть профиль Найти все сообщения от Amphiluke
 
Регистрация: 07.01.2011
Сообщений: 254

<script type="text/javascript">
window.onload = function() {
    function foo() {
        alert("Don't stop typing!");
        t = setTimeout(arguments.callee, 2000);
    }
    var t = setTimeout(foo, 2000);
    document.getElementById("my_input").onkeyup = function() {
        if (t) clearTimeout(t);
        t = setTimeout(foo, 2000);
    }
}
</script>

<input type="text" id="my_input" />
Ответить с цитированием
  #3 (permalink)  
Старый 10.07.2011, 16:02
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

<script>
function say() {
 alert("Печатай!");
};

run_id = false;

function wait_and_say() {
 run_id= setTimeout(say, 2000);
};

function cancel_say() {
 if (run_id) clearTimeout(run_id);
 run_id= false;
};
</script>
<input onkeyup="wait_and_say()" onkeydown="cancel_say()" />
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)

Последний раз редактировалось trikadin, 10.07.2011 в 16:13.
Ответить с цитированием
  #4 (permalink)  
Старый 10.07.2011, 16:06
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

эта же ситуация будет при keydown, а это событие раньше, чем keyup
run_id;

(function cancel_say() {
 clearTimeout(run_id);
})()
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подбор варианта из списка select при наборе текста omvitamin Элементы интерфейса 6 04.04.2011 14:48
Прерывается выполнение функции при смене аргумента mikser763 Общие вопросы Javascript 1 11.10.2010 16:36
Выполнение скрипта при нажатии Entet в текстовм поле Vlasssov Общие вопросы Javascript 4 23.08.2009 23:31
Появление текста при наведении курсора на ссылку Александра Элементы интерфейса 1 11.05.2009 00:22
Firefox: перехватить соббытие при перетаскивании текста no_alex Общие вопросы Javascript 9 21.08.2008 18:02