Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript,在一个唯一的按钮上有两个不同的函数,有两个事件_Javascript_Html_Function_Events_Button - Fatal编程技术网

javascript,在一个唯一的按钮上有两个不同的函数,有两个事件

javascript,在一个唯一的按钮上有两个不同的函数,有两个事件,javascript,html,function,events,button,Javascript,Html,Function,Events,Button,我想构建一个JS脚本,在一个按钮中添加两个onClick事件。这两个事件必须单独工作: 前任。 第一次点击按钮:事件A 再次单击同一按钮:事件B 这是我的密码: html按钮:按一次可显示一个div,再按一次可显示另一个div <button id="add-form" class="add"><a class="btn" href="#"><i class="fa fa-plus-circle fa-2x"></i></a></

我想构建一个JS脚本,在一个按钮中添加两个onClick事件。这两个事件必须单独工作: 前任。 第一次点击按钮:事件A

再次单击同一按钮:事件B

这是我的密码:

html按钮:按一次可显示一个div,再按一次可显示另一个div

<button id="add-form" class="add"><a class="btn" href="#"><i class="fa fa-plus-circle fa-2x"></i></a></button>-->

...
...

  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  <script>
这就是一次(尝试)显示两个div的函数

    $("#add-form").click(function(){
      $("#viaggio2").fadeIn();
    }$("#add-form").click(function(){
      ("#viaggio3").fadeIn();
    });

  });
  </script>
$(“#添加表单”)。单击(函数(){
$(“#viaggio2”).fadeIn();
}$(“#添加表单”)。单击(函数(){
(“viaggio3”).fadeIn();
});
});

另外,很抱歉我的英语不好,还有所有试图帮助我的人:)

您可以附加一个事件,但带有用于ex的计数器:

 var condition = 0;

 document.querySelector('.my-button').addEventListener('click', function() {

  if(condition === 0) { /* logic 1 */
  else if (condition === 1) { /* logic 2 */}

  condition++;
 });

您可以附加一个事件,但带有计数器,例如:

 var condition = 0;

 document.querySelector('.my-button').addEventListener('click', function() {

  if(condition === 0) { /* logic 1 */
  else if (condition === 1) { /* logic 2 */}

  condition++;
 });
你可以简单地用电脑来做这件事

文档

如果提供了两个以上的处理程序,.toggle()将在所有处理程序之间循环。例如,如果有三个处理程序,那么第一个处理程序将在第一次单击、第四次单击、第七次单击时调用,依此类推

注意

此方法签名在jQuery 1.8中被弃用,并在中被删除 jquery1.9。jQuery还提供了一个名为.toggle()的动画方法 用于切换图元的可见性。无论是动画还是 激发事件方法取决于传递的参数集

但根据您的要求,使用
toggleClass

$("#add-form").click(function(){
      $(this).toggleClass("add-form add-form2")
      $("#viaggio2").fadeIn();})
$("#add-form2").click(function(){
$(this).toggleClass("add-form add-form2")
      $("#viaggio3").fadeIn();})
你可以简单地用电脑来做这件事

文档

如果提供了两个以上的处理程序,.toggle()将在所有处理程序之间循环。例如,如果有三个处理程序,那么第一个处理程序将在第一次单击、第四次单击、第七次单击时调用,依此类推

注意

此方法签名在jQuery 1.8中被弃用,并在中被删除 jquery1.9。jQuery还提供了一个名为.toggle()的动画方法 用于切换图元的可见性。无论是动画还是 激发事件方法取决于传递的参数集

但根据您的要求,使用
toggleClass

$("#add-form").click(function(){
      $(this).toggleClass("add-form add-form2")
      $("#viaggio2").fadeIn();})
$("#add-form2").click(function(){
$(this).toggleClass("add-form add-form2")
      $("#viaggio3").fadeIn();})
jQuery
.toggle()
方法有一些优雅之处,但它确实附带了一些您可能不期望的额外功能。在实施之前,请务必阅读文档

更普通的方法是这样的:

// keep track of button clicks
var buttonClickCount = 0;

document.getElementById('myButton').addEventListener('click', function(){

  // increment the button click count
  ++buttonClickCount;

  // on the first click, eventA
  if(buttonClickCount===1){
    eventA();
  }

  // on the second click, eventB
  if(buttonClickCount===2){
    eventB();
  }
});

function eventA(){
  console.log('Event A');
}

function eventB(){
  console.log('Event B');
}
jQuery
.toggle()
方法有一些优雅之处,但它确实附带了一些您可能不期望的额外功能。在实施之前,请务必阅读文档

更普通的方法是这样的:

// keep track of button clicks
var buttonClickCount = 0;

document.getElementById('myButton').addEventListener('click', function(){

  // increment the button click count
  ++buttonClickCount;

  // on the first click, eventA
  if(buttonClickCount===1){
    eventA();
  }

  // on the second click, eventB
  if(buttonClickCount===2){
    eventB();
  }
});

function eventA(){
  console.log('Event A');
}

function eventB(){
  console.log('Event B');
}


您正在使用jQuery吗?您尝试了什么?你能展示你的代码吗?你在使用jQuery吗?你尝试了什么?你能展示你的代码吗?我想他不想“切换”-但是是的,它切换,他必须重置计数器。他只说:一->A,二->B,他没有说第三->Ai假设他不想“切换”-但是是的,它切换,他必须重置计数器。他只说:一->A,二->B,他没有说第三->啊哈,我已经用我的代码试过了,但没用。。我的按钮id是“#A”,我在两次单独单击时显示的两个div是id“#divA”和“#divB”。所以每次显示一个的代码是:
$(“#A”).toggle(function(){$(“#divA”).show();],function(){$(“#divB”).show()});
对吗?@LucaZambon如果您使用的是jQuery
>1.9
它将不起作用,因此我编辑了答案,请再次检查它,确认答案,但它仍然不起作用。。使用此方法,它仍然会在同一次单击中显示所有2个事件。@LucaZambon请确保您有类名,如果可能的话chat@LucaZambon我有斯佩小姐现在我已经纠正了这个问题。我用我的代码试过了,但是没有用。我的按钮的id是“#A”,我要在两次单独点击时显示的两个div是id“#divA”和“#divB”。所以每次显示一个div的代码是:
$(#A”)。切换(function(){(“#divA”)。show()],function$(#divB).show();});
对吗?@LucaZambon如果您使用的是jQuery
>1.9
它将不起作用,因此我编辑了答案,请再次检查它,确认答案,但它仍然不起作用。。使用此方法,它仍然会在同一次单击中显示所有2个事件。@LucaZambon请确保您有类名,如果可能的话chat@LucaZambon我有斯佩小姐现在我已经更正了你的ID,希望它能起作用