1 回答

开满天机
TA贡献1786条经验 获得超13个赞
这个问题实际上问的是如何在长按一个按键的时候只触发一次keydown
事件。
处理方法:添加一个状态位变量,判断是否当前是否已经处于按下的状态。也就是在你的代码中做如下修改:
var keyDownFlag = 0;//定义一个全局变量,该变量表示是否已经按下
function keydownHandler(e){
if(e.keyCode==32&&keyDownFlag==0){//判断条件增加当前是否已经按下(是否处于长按)
ballY-=dy
keyDownFlag =1 //按下的时候修改状态
}
}
//空格键松开时ball掉下
function keyupHandler(e){
if(e.keyCode==32){
ballY+=dy;
keyDownFlag =0//松开的时候修改状态
}
}
添加回答
举报
0/150
提交
取消