所以我在objectx上绘制一个对象,在按下右箭头时对象并递增objectx,将对象向右移动。我遇到的问题是,如果我按住右箭头键,它会递增一次,暂停,然后重复递增。我的问题是为什么它会这样做,如何在没有初始暂停的情况下使对象流畅地移动?
$(window).keydown(function(e) {
if(e.keyCode == 39) {
objectx++;
}
}
答案 0 :(得分:3)
创建一个间隔,增加对象,按键,并在keyup上停止间隔。 (将区间ID保存在某处,同时确保在已经存在的时间间隔内不进行两次间隔)
答案 1 :(得分:0)
代码没有任何问题 - 自动重复键行为依赖于O / S +浏览器,并且每个用户将有一个不同的设置,指示在将键注册为重复键之前必须连续按下该键多长时间按,以及以何种速度。此行为旨在避免错误的多次按键。
代码方面,keyDown
事件被完美捕获,浏览器不会触发这些事件。