javascript中onkeyup、onkeydown和settimeout的问题

var flag = 0;
var t;
function openFlag () {
t = setTimeout(function(){flag = 1; alert(11);}, 1000);
}
function closeFlag() {
clearTimeout(t);
flag = 0;
}

现在文本框快速输入几个字母,那么输入几个字母就alert几次。稍微慢点儿输入的话就只执行一次alert,这是怎么个情况?

我想实现的是输入间隔大于一秒则执行alert语句一次。

直接如下即可:
[code="java"]<br> function openFlag () { <br> setTimeout(function(){alert(11);}, 1000); </p> <p>} <br> function closeFlag() { </p> <p>} </p> <p>



[/code]

1、setTimeout() 只执行 代码 一次。如果要多次调用,请使用 setInterval() 或者让 代码 自身再次调用 setTimeout()。

明显用 setInterval 输入间隔大于一秒
setInterval (function(){alert(11);}, 1100); 大于1秒,