на форме есть текстовое поле: <input type="text" name="text" onkeyup="func(value)"> подскажите пожалуйста, как сделать, чтобы onkeyup="func(value)" срабатывал только через 3 секунды после ввода последнего символа?
по onkeyup (или лучше по onkeypress) запоминать время последнего ввода. по setInterval с некоторым промежутком проверять это время, после чего выпонять нужные действия.
[js]function doLoadUpC(value) { if (timeout0) clearTimeout(timeout0); var launch="func(value)"; timeout0 = setTimeout(launch, 3000); }[/js]
спасибо ))) код работает ))) единственная трабла: когда набираешь в строке, например, "привет", func(value) отрабатывает через 3 секунды после набора последнего символа "т", но вот отрабатывает func(value) столько раз сколько символов в слове "привет". Подскажите пожалуйста, как сделать, чтобы func(value) запускалась один раз после набора символа "т" при наборе "привет".
странно. [js]if (timeout0) clearTimeout(timeout0);[/js] должно это обрабатывать. [js]var timeout0 = null;[/js] в зоне window определил заранее? иначе он будет не видеть старый и создавать новый не убивая старый каждый раз.
это надо ВНЕ функции определять. В зоне window Чтобы жило и без нее. [js]var timeout0 = null; function doLoadUpC(value) {[/js]