我想使第二个按钮单击事件仅在第一个按钮单击事件起作用后起作用

时间:2019-08-16 16:14:34

标签: javascript html button

我想使第二个按钮单击事件仅在第一个按钮单击事件起作用后起作用。在单击第一个按钮之前,第二个按钮的click事件必须不起作用。 并且还想要第一个按钮上的文本框以获取过去的网址 表示当观看者没有在文本框中粘贴网址并单击“确定”时 第二个按钮不起作用 喜欢 Nomigamer.com在网站上的使用

1 个答案:

答案 0 :(得分:1)

您可以通过创建标志来实现。

标志的默认值为false,当您单击第一个按钮时,标志为true。

单击第二个按钮时,它将检查标志是否已启用,如果启用,则可以处理第二个按钮。

让我们举个例子:

var flag = false;
$("#firstButton").click(function(){
  flag = true;
  //Implement code for first button here
});

$("#secondButton").click(function(event){
  if(flag === false) {
      event.preventDefault();
  }
  //Implement code for second button here
});

第二个问题。我仍然不知道你的意思。您能详细描述一下吗?

修改

已添加完整代码作为您的请求

<html>
<head>
    <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
</head>
<body>
    <input type="text" id="input1" value="12345">
    <input type="text" id="input2">
    <button id="button1">First button</button>
    <button id="button2">Second button</button>

    <script>
        var flag = false;
        //Because first button has id button1 so I use #button1 to handle event click
        $("#button1").click(function(){
            //Enable flag
            flag = true;
            // Because first input has id input1 so I use #input1 to get it element
            // $("#input1").val() will get value of first input
            var firstInputValue = $("#input1").val();
            // Set value of first input is empty
            $("#input1").val("");
            // Set value of input 1 for input 2
            $("#input2").val(firstInputValue);
        });

        $("#button2").click(function(event){
          //If flag is disabled then exit function, Don't process anything.
          if(flag === false) {
              event.preventDefault();
              return;
          }
          // If flag is enable then set value input1 = input2 and clear input2
          var secondInputValue = $("#input2").val();
          $("#input2").val("");
          $("#input1").val(secondInputValue);
        });
    </script>
</body>
</html>

它的一些错误仍然没有解决。您的工作,以找到解决方案:D