Стандарт не позволяет использовать в объявлении более одного спецификатора класса хранения.
Из стандарта C99:
6.7.1 Спецификаторы класса хранения
1 спецификация-хранилище-хранилище:
typedef extern static auto register
2 В спецификациях декларации может быть указано не более одного спецификатора класса хранения в объявлении .
blockquote>
Попробуйте следующее:
var timer;
function chk_me(){
clearTimeout(timer);
timer=setTimeout(function validate(){...},1000);
}
Таким образом каждый раз нажата, тайм-аут будет удален и снова установлен.
Другой подход, без глобальных:
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 );"/>
Попробуйте демо здесь .
setTimeOut () будет тот;)
<input name="domain" type="text" id="domain" onKeyUp="setTimeout('chk_me()',1000);">