【问题标题】:jQuery differentiate between click() and dblclick()jQuery 区分 click() 和 dblclick()
【发布时间】:2019-05-03 16:54:47
【问题描述】:

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

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

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

【问题讨论】:

  • jQuery有一个双击处理程序,你不能用吗?见这里api.jquery.com/dblclick :)。
  • 愿意分享一个 JSFiddle 吗?或者多解释一点?这不工作吗?

标签: jquery html web web-applications


【解决方案1】:

我想我理解你的问题。您的代码按预期工作,即在第一次点击时附加 X,然后在第二次点击时附加 O,但没有清除......所以你最终得到 XO。

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

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

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

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

如果这不是您的问题,请告诉我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-01
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 2011-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多