如何在 JS 中再次按下按钮之前创建一个函数 运行?

How to make a function run before a button can be pressed again in JS?

我正在尝试在 JavaScript 中编写一个程序,其中必须执行某些功能才能再次按下按钮。 该按钮执行的功能每回合只能执行一次,但我希望在下一回合之前执行其他操作,并在进入下一回合之前进行某种确认。在伪代码中,它可能看起来像这样:

buttonFunction();
actionOne();
actionTwo();
turnOverConfirm();

等等

但我不太确定该怎么做。现在可以随时按下按钮。我如何才能让用户必须确认才能再次按下按钮?

您可以使用javascript确认功能。此函数将弹出一个带有 okcancel

的消息框

这是一个例子

var r = confirm("Press a button!");
if (r == true) {
    alert("OK was clicked");
} else {
    alert("Cancel was clicked");
}

你可以做的是当用户点击一个按钮时,弹出一个确认框,然后如果他们点击确定你就可以 运行 你上面列出的功能。

您可以通过 javascript 禁用和启用按钮。你可以这样阻止它: document.getElementById("button").disabled = true

只需再次将其设置为 false 即可使其再次可点击!

方法很少

  • 您可以隐藏该按钮,直到处理准备就绪或替换为 "please wait..." 图片
  • 您可以创建防止变量或删除临时点击事件函数

</p> <pre><code>var Action = (function(){ var prevent = false; function _start() { if (prevent === false) { prevent = true; _process(); } } function _process() { // DO Action prevent = false; } return { start: _start } })(); <a href="javascript:Action.start()">Fire</a>

您可以为每次点击创建事件这里是一个示例,其中警报和更改按钮颜色都在一个函数中

var clicked = 0;
var btn = document.getElementById("btn");

function clickBtn(){
    if (clicked == 0) {
      alert("it's first click");
      btn.style.background = "black";
      clicked = 1;
    }else if (clicked == 1) {
        alert("it's second click");
        btn.style.background = "orange";
        clicked = 2;
      } else if (clicked == 2) {
          alert("it's third click");
          btn.style.background = "green";
          clicked = 3;
        } 
    }
#btn{
border-radius:15px 0 15px 0;
color:white;
border:none;
padding:15px;
background:blue;
font-weight:bold;
}

#btn:hover{
border-radius:0 15px 0 15px;
}
<button id="btn" onclick="clickBtn()">Click Me</button>