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

时间:2015-07-28 14:11:18

标签: javascript button

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

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

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

4 个答案:

答案 0 :(得分:0)

您可以使用javascript确认功能。此功能将弹出一个包含okcancel

的消息框

这是一个例子

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

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

答案 1 :(得分:0)

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

再次将其设置为false以使其再次可点击!

答案 2 :(得分:0)

有几种方法

  • 您可以隐藏按钮,直到处理准备就绪或替换为"请稍候..."图像
  • 您可以创建阻止变通或删除临时点击事件功能

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 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>

答案 3 :(得分:0)

你可以为evry点击这里的事件是一个例子,在一个功能中有警报和更改按钮颜色

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>