键下来和向上事件在Javascript中不起作用

时间:2017-06-11 10:33:05

标签: javascript css html5

document.addEventListener("keydown", keyD);
document.addEventListener("keyup", keyU);
function keyD(e){

    if(e.keycode == 38){
        plat1UpP = true;
    }else if(e.keycode == 40){
        plat1DownP = true;
    }
}

function keyU(e){
    if(e.keycode == 38){
        plat1UpP = false;
    }else if(e.keycode == 40){
        plat1DownP = false;
    }
}

我正在尝试使用canvas在html5,javascript和css中制作pong游戏,但是keydown和keyup的事件不起作用。

2 个答案:

答案 0 :(得分:1)

您有语法错误,您是e.keyCode使用e.keycode {}的新人。

答案 1 :(得分:1)

您必须将keycode更改为keyCode

  

考虑一些浏览器不支持keyCode,您必须使用   which

将您的代码更改为此,它将适用于所有人。

document.addEventListener("keydown", keyD);
document.addEventListener("keyup", keyU);
function keyD(e){
    var key = e.keyCode || e.which;
    if(key  == 38){
        plat1UpP = true;
    }else if(key == 40){
        plat1DownP = true;
    }
}

function keyU(e) {
    var key = e.keyCode || e.which;
    if(key ){
        plat1UpP = false;
    }else if(key){
        plat1DownP = false;
    }
}