javascript,在一个唯一的按钮上有两个不同的函数,有两个事件
我想构建一个JS脚本,在一个按钮中添加两个onClick事件。这两个事件必须单独工作: 前任。 第一次点击按钮:事件A 再次单击同一按钮:事件B 这是我的密码: html按钮:按一次可显示一个div,再按一次可显示另一个divjavascript,在一个唯一的按钮上有两个不同的函数,有两个事件,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></
<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,希望它能起作用