阻止按钮被点击

JQuery Stopping a button from being clicked

本文关键字:按钮      更新时间:2023-09-26

我正在尝试创建一款扫雷游戏,我需要一些关于游戏结束的帮助。我使用JQuery为游戏制作了一个函数生成的表格。我需要的是当游戏结束时,不允许用户点击表格中的任何单元格。到目前为止,这是我所尝试的:

if(gameField[rand][col]==1){
    $(button).text("X");
    checkForBombs();
    var endGame = confirm("You lost. Do you want to play again?");
        if(endGame === true){
            window.location.reload();
        }
        if(endGame === false){
            $('#tableboard').click(function(event){
                event.stopPropagation();
            });
        }
}

它本质上检查是否到达终局,然后根据用户输入是否开始一个新游戏。当用户按下取消键时,表将不再接受用户的任何输入。

任何关于如何做到这一点的想法将不胜感激。我不需要确切的代码,但指导或适当的功能,使按钮不活动,同时仍然显示在游戏结束时的信息将不胜感激。

您可以简单地禁用按钮:

$('.your-button').prop('disabled', true);

我假设您已经将一个事件绑定到元素$('#tableboard')以接受单击事件。如果这是真的,那就在你的游戏结束代码中取消任何与该元素绑定的点击事件。

if(endGame === false){
    $('#tableboard').unbind('click');
}

我会选择:

if(endGame === false) {
    $('#tableboard').attr('disabled', 'disabled').on('click', function(e) {
        e.preventDefault();
    });
}

下面是使它工作的最终代码:

if(endGame === false){
            $('#tableboard button').attr('disabled', 'disabled');
                event.preventDefault()
        }

谢谢你的想法。从本质上讲,如果用户取消了一款新游戏,那么表格中的每个按钮都将被禁用,他可以查看游戏以及炸弹的位置。