我如何允许用户在jquery中的一个按钮上只点击3次

how can I allow the user to click only 3 times on a button in jquery?

本文关键字:按钮 一个 3次 用户 何允许 jquery      更新时间:2023-09-26

我正在尝试制作一个小石头剪刀游戏。为此,我在jquery中编写了一个小javascript。整个过程应该是这样的:用户按下按钮,ajax事件被触发,所选选项被添加到div中,计数器递增。但只有3次!我想不通这样工作。。。这是我的代码

if (counter <= 3){
    $('.buStein1').click(function(event){
        $.post("game.php", { uid: "<?php echo $user['id']?>", choice: "stein", runde: counter  });
        $('#choiceContainer').append(stein);
        counter++;
      });
    $('.buSchere1').click(function(event){
        $.post("game.php", { uid: "<?php echo $user['id']?>", choice: "schere", runde: counter  });
        $('#choiceContainer').append(schere);
        counter++;
      });
    $('.buPapier1').click(function(event){
        $.post("game.php", { uid: "<?php echo $user['id']?>", choice: "papier", runde: counter  });
        $('#choiceContainer').append(papier);
        counter++;
      });
}
else {
    $('#choiceContainer').text('no clicking possible');
}

首先在函数之外定义计数器:

var counter = 0;

然后在执行其他操作之前检查点击事件处理程序中的计数器:

$('.buStein1').click(function(event){
    if (checkCounter()) {
      $.post("game.php", { uid: "<?php echo $user['id']?>", choice: "stein", runde: counter  });
      $('#choiceContainer').append(stein);
    }
  });
$('.buSchere1').click(function(event){
    if (checkCounter()) {
      $.post("game.php", { uid: "<?php echo $user['id']?>", choice: "schere", runde: counter  });
      $('#choiceContainer').append(schere);
    }
  });
$('.buPapier1').click(function(event){
    if (checkCounter()) {
      $.post("game.php", { uid: "<?php echo $user['id']?>", choice: "papier", runde: counter  });
      $('#choiceContainer').append(papier);
    }
  });

function checkCounter() 
{
  if (counter > 3)
  {
    $('#choiceContainer').text('no clicking possible');
    return false;
  }
  counter++;
  return true;
}

if (counter <= 3)检查应在click函数内部。

此时,如果计数器小于3,则绑定单击事件