T_wuyuntao
2012-09-10 13:58
采纳率: 0%
浏览 180
已采纳

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语句一次。

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • jinnianshilongnian 2012-09-10 14:11
    已采纳

    直接如下即可:
    [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()。

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • iteye_5246 2012-09-10 14:44

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

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题