Javascript 如何使按键事件在JS中只触发一次

Javascript 如何使按键事件在JS中只触发一次,javascript,eventhandler,onkeypress,Javascript,Eventhandler,Onkeypress,当我按住按钮时,如何防止函数move()被多次触发?我希望它只发射一次,即使用户按下了键 function pushbtn(event) { var pressBtn = event.keyCode; //Move to the right if(pressBtn==100) { move(1933.67); } //Move to the left else if(pressBtn==113) {

当我按住按钮时,如何防止函数move()被多次触发?我希望它只发射一次,即使用户按下了键

function pushbtn(event)
{
    var pressBtn = event.keyCode;
    //Move to the right
    if(pressBtn==100)
    {
        move(1933.67);


    }
    //Move to the left
    else if(pressBtn==113)
    {
        move(-1933.67);

    }
}

document.addEventListener('keypress', pushbtn);
document.addEventListener('keyup', releasebtn);
dmaurolizer可以很好地控制所有键盘事件。您可以为事件提供回调函数。
keydown
事件发送可选的
isRepeat
参数,以便您可以忽略自动重复。下面是一个在视频游戏中使用该功能进行推力控制的示例:

var my_combos = listener.register_many([
    {
        "keys"          : "up",
        "on_keydown"    : function(e, num, isRepeat) {
            if (isRepeat) return ;
            thrust = 0.1;
        },
        "on_keyup"      : function() {
            thrust = 0;
        }
    }
]);