按住键时暂停

时间:2013-08-14 18:10:46

标签: javascript keydown

所以我在objectx上绘制一个对象,在按下右箭头时对象并递增objectx,将对象向右移动。我遇到的问题是,如果我按住右箭头键,它会递增一次,暂停,然后重复递增。我的问题是为什么它会这样做,如何在没有初始暂停的情况下使对象流畅地移动?

$(window).keydown(function(e) {
    if(e.keyCode == 39) {
        objectx++;
    }
}

2 个答案:

答案 0 :(得分:3)

创建一个间隔,增加对象,按键,并在keyup上停止间隔。 (将区间ID保存在某处,同时确保在已经存在的时间间隔内不进行两次间隔)

答案 1 :(得分:0)

代码没有任何问题 - 自动重复键行为依赖于O / S +浏览器,并且每个用户将有一个不同的设置,指示在将键注册为重复键之前必须连续按下该键多长时间按,以及以何种速度。此行为旨在避免错误的多次按键。

代码方面,keyDown事件被完美捕获,浏览器不会触发这些事件。