取消对焦开始按钮

问题描述 投票:0回答:1

这是我的代码:

document.onkeydown = function(event){
          switch(event.keyCode){
case 32:
                //space
                alert("Space pressed");
                clearInterval(game_interval);
                game_status = "paused";
                break;
}}

使用alert()功能一切顺利。但如果我删除alert("Space pressed")我的代码中有错误。错误是游戏不停止。有帮助吗?

附:此代码适用于俄罗斯方块游戏。我希望当用户按下空格键时,俄罗斯方块部分将尽可能向下移动。

提前谢谢Chris Pappas

**我试图在setTimeout函数中放置clearInteval,但没有区别。

function move_tetris_part(){
    //check if part can move down
    part_can_move();

    if(part_can_go_down==false){
        clearInterval(game_interval);
        new_part();

    }else{
        make_help_part();
        if(new_piece==false){
            delete_tetris_part();
        }else{
            new_piece = false;
        }

        current_y = current_y+1;
        make_tetris_part(false);


    }
}

定期调用上述函数。

我发现了这个错误!当我按开始按钮开始游戏时,按下空格按钮时按钮仍然聚焦。当我按下空格时,如何停止在开始按钮上触发点击事件?

javascript settimeout
1个回答
0
投票
document.getElementsByName("start")[0].onclick = function() {
        this.blur();
        game_status = "started";
        interval_time = 300;
        game_over_rect.setAttribute("display","none");
        game_over_text.setAttribute("display","none");
        if(document.getElementsByName("start")[0].value=="Εκκίνηση"){
            initialize_squares_array();
            part_selected=0;
            new_part();
            console.log(234);
        }else{
            game_interval = setInterval(move_tetris_part,interval_time);
        }

    };

答案是模糊聚焦按钮。

© www.soinside.com 2019 - 2024. All rights reserved.