jQuery区分click()和dblclick()

时间:2018-12-01 23:50:41

标签: jquery html web web-applications

我正在使用jQuery为两个玩家制作一个简单的井字游戏。我想在用户单击时插入“ X”,在双击时插入“ O”。这就是我用的

 $(document).ready(function(){
        $(".tic").click(function(){
            $(this).append("X");
        });
        $(".tic").dblclick(function(){
            $(this).append("O");
        });
    });

当用户双击“ X”然后显示“ O”时。

1 个答案:

答案 0 :(得分:0)

我想我理解您的问题。您的代码正在按预期的方式运行,即,在第一次单击时附加X,然后在第二次单击时附加O,但未清除...因此最终得到XO。

如果您更正代码以替换单击的.tac的文本,则它将覆盖先前的值。这是JSfiddle

$(document).ready(function(){
    $(".tic").click(function(){
        $(this).text("X");
    });
    $(".tic").dblclick(function(){
        $(this).text("O");
    });
}); 

或者,只需检查文本的值并在空格,X,O之间循环。对于玩家来说,这可能是更好的体验,同时保留了双击分配“ O”的功能。 / p>

$(document).ready(function(){
    $(".tic").click(function(){
        if ($(this).text() == "" ) {
           $(this).text("X");
        } else if ( $(this).text() == "X" ) {
           $(this).text("O");
        } else {
           $(this).text("");
        }
    });
}); 

让我知道这是否实际上不是您的问题。