Задержка OnKeyUp JavaScript?

Стандарт не позволяет использовать в объявлении более одного спецификатора класса хранения.

Из стандарта C99:

6.7.1 Спецификаторы класса хранения

1 спецификация-хранилище-хранилище:

typedef
extern
static
auto
register

2 В спецификациях декларации может быть указано не более одного спецификатора класса хранения в объявлении .

25
задан Spoonk 4 September 2009 в 22:09
поделиться

3 ответа

Попробуйте следующее:

var timer;
function chk_me(){
   clearTimeout(timer);
   timer=setTimeout(function validate(){...},1000);
}

Таким образом каждый раз нажата, тайм-аут будет удален и снова установлен.

37
ответ дан 28 November 2019 в 20:49
поделиться

Другой подход, без глобальных:

var typewatch = function(){
    var timer = 0;
    return function(callback, ms){
        clearTimeout (timer);
        timer = setTimeout(callback, ms);
    }  
}();

Использование:

Присоединение события через JavaScript:

window.onload = function () {
    document.getElementById('domain').onkeyup = function() {
        typewatch(function(){alert('Time elapsed!');}, 1000 );
    };
};

Или с помощью встроенный обработчик событий ( не так рекомендуется, как ), как в вашем примере:

<input type="text" name="domain" id="domain"
   onKeyUp="typewatch(function(){alert('Time elapsed!');}, 1000 );"/>

Попробуйте демо здесь .

16
ответ дан CMS 15 October 2019 в 16:04
поделиться

setTimeOut () будет тот;)

<input name="domain" type="text" id="domain" onKeyUp="setTimeout('chk_me()',1000);">

текст ссылки

-3
ответ дан 28 November 2019 в 20:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: