Javascript 点击功能进入点击功能
我想如果我把一次点击功能放进点击功能中,只有在点击的情况下才继续第二次点击功能,但是当我点击第一次时,第二次点击的代码正在运行。。。我想如果我点击第二个,它应该运行代码。 我的意思是,当我点击第二个时,代码是可见的,并且按照他们应该做的做,但是如果像第一个函数一样点击3次,而没有点击第二个,然后突然点击第二个,那么代码的行为就像已经运行了三次一样Javascript 点击功能进入点击功能,javascript,jquery,click,Javascript,Jquery,Click,我想如果我把一次点击功能放进点击功能中,只有在点击的情况下才继续第二次点击功能,但是当我点击第一次时,第二次点击的代码正在运行。。。我想如果我点击第二个,它应该运行代码。 我的意思是,当我点击第二个时,代码是可见的,并且按照他们应该做的做,但是如果像第一个函数一样点击3次,而没有点击第二个,然后突然点击第二个,那么代码的行为就像已经运行了三次一样 $(".click1").click(function () { alert("hej"); $(".click2"). fu
$(".click1").click(function () {
alert("hej");
$(".click2").
function ({
alert("bye");
});
});
我的意图是只在第二次点击时才运行,如果我点击第一次,就不会运行代码
更清楚地说。当我第一次点击时,它会说hej,如果我点击三次,它会说hej 3x,但当我突然点击click2时,它会显示bye三次,但我只点击了一次
谁能解释一下为什么会发生这种情况?我怎样才能防止这种情况发生
谢谢你的帮助
编辑
function click_back() {
current_question_for_answer.splice(0,1);
$("#tillbaka_question").fadeTo("slow", 0.2);
$("#tillbaka_question").off("click");
$(".questions").hide();
$(".containing_boxes").show();
$(".answered_box").remove();
var numbers_of_answered_question = history.length - 1;
for (var i = numbers_of_answered_question; i > -1; i--) {
current_question.push(i);
$(".containing_boxes").prepend('<div class="answered_box">'+i+'</div>');
$("div.containing_boxes > div:nth-child("+history.length+")").css("background-color", "green");
$(".containing_boxes").hide();
$(".containing_boxes").fadeIn(100);
}
$("div.containing_boxes > div").not(":last-child").click(answered_box);
$("div.containing_boxes > div:nth-child("+history.length+")").click(function () {
函数单击返回(){
当前问题用于答案拼接(0,1);
$(“蒂尔巴卡问题”)。法德托(“缓慢”,0.2);
$(“tillbaka_问题”)。关闭(“单击”);
$(“.questions”).hide();
$(“.containing_box”).show();
$(“.responsed_box”).remove();
var编号\u of \u回答的问题=history.length-1;
对于(VarI=回答问题的数量;i>-1;i--){
当前问题推送(i);
$(“.containing_boxes”)。前缀(“+i+”);
$(“div.containing_box>div:n个子项(+history.length+)).css(“背景色”、“绿色”);
$(“.containing_box”).hide();
$(“.containing_boxes”).fadeIn(100);
}
$(“div.containing\u box>div”)。而不是(“:last child”)。单击(已应答的\u box);
$(“div.containing_box>div:n个子项(“+history.length+”)。单击(函数(){
$(“div.containing_box>div:n个子项(“+history.length+”)。单击(函数(){})此函数只有在我单击它时才能工作。我无法将此代码分为两个新函数。如果我这样做,则整个系统将停止工作….因为您单击了click1 3次,click2上的单击事件是3次创建的。这就是为什么它会3次提醒“再见”的原因。因为您单击了click1 3次,click2上的单击事件是3次创建了3次。这就是为什么它会提醒“再见”3次。因为您单击了click1 3次,click2上的click事件创建了3次。这就是为什么它会提醒“再见”3次。因为您单击了click1 3次,click2上的click事件创建了3次。这就是为什么它会提醒“再见”3次。尝试以下操作:
var click1 = false;
$(".click1").click(function () {
alert("hej");
click1 = true;
});
$(".click2").click(function() {
if (click1 === true) {
alert("bye");
click1 = false;
}
});
试试这个:
var click1 = false;
$(".click1").click(function () {
alert("hej");
click1 = true;
});
$(".click2").click(function() {
if (click1 === true) {
alert("bye");
click1 = false;
}
});
试试这个:
var click1 = false;
$(".click1").click(function () {
alert("hej");
click1 = true;
});
$(".click2").click(function() {
if (click1 === true) {
alert("bye");
click1 = false;
}
});
试试这个:
var click1 = false;
$(".click1").click(function () {
alert("hej");
click1 = true;
});
$(".click2").click(function() {
if (click1 === true) {
alert("bye");
click1 = false;
}
});
我想,他就是你想要的:
$(".click1").click(function () { alert("hej"); });
$(".click2").click(function () { alert("bye"); });
我想,他就是你想要的:
$(".click1").click(function () { alert("hej"); });
$(".click2").click(function () { alert("bye"); });
我想,他就是你想要的:
$(".click1").click(function () { alert("hej"); });
$(".click2").click(function () { alert("bye"); });
我想,他就是你想要的:
$(".click1").click(function () { alert("hej"); });
$(".click2").click(function () { alert("bye"); });
每次单击第一个按钮时,您都在为第二个按钮注册单击事件,因此,如果您单击第一个按钮5x,则第二个按钮单击事件将注册5x 解决办法是
确保每次单击第一个按钮时取消注册第二个按钮的单击事件,然后再次注册它每次单击第一个按钮时,都是注册第二个按钮的单击事件,因此如果单击第一个按钮5x,则第二个按钮的单击事件将注册5x 解决办法是
确保每次单击第一个按钮时取消注册第二个按钮的单击事件,然后再次注册它每次单击第一个按钮时,都是注册第二个按钮的单击事件,因此如果单击第一个按钮5x,则第二个按钮的单击事件将注册5x 解决办法是
确保每次单击第一个按钮时取消注册第二个按钮的单击事件,然后再次注册它每次单击第一个按钮时,都是注册第二个按钮的单击事件,因此如果单击第一个按钮5x,则第二个按钮的单击事件将注册5x 解决办法是
请确保每次单击第一个按钮时,都会注销第二个按钮的单击事件,然后再次注册它第一次单击会附加另一个单击处理程序,这意味着第二次单击会触发多次,因此每次单击它时,都会收到很多“再见”s、 为了避免这种情况,您只需在加载时设置一个变量,如
var isClicked=0
,然后在将处理程序附加到click2之前,检查isClicked==0
,如果为真,则设置isClicked=1
,这样它只工作一次
var isClicked = 0;
$(".click1").click(function () {
alert("hej");
if ( isClicked == 0 ) {
isClicked = 1;
$(".click2").
function ({
alert("bye");
});
}
});
第一次单击会附加另一个单击处理程序,这意味着第二次单击会触发多次,因此每次单击都会收到很多“再见”s、 为了避免这种情况,您只需在加载时设置一个变量,如
var isClicked=0
,然后在将处理程序附加到click2之前,检查isClicked==0
,如果为真,则设置isClicked=1
,这样它只工作一次
var isClicked = 0;
$(".click1").click(function () {
alert("hej");
if ( isClicked == 0 ) {
isClicked = 1;
$(".click2").
function ({
alert("bye");
});
}
});
第一次单击会附加另一个单击处理程序,这意味着第二次单击会触发多次,因此每次单击都会收到很多“再见”s、 为了避免这种情况,您只需在加载时设置一个变量,如
var isClicked=0
,然后在将处理程序附加到click2之前,检查isClicked==0
,如果为真,则设置isClicked=1
,这样它只工作一次
var isClicked = 0;
$(".click1").click(function () {
alert("hej");
if ( isClicked == 0 ) {
isClicked = 1;
$(".click2").
function ({
alert("bye");
});
}
});
第一次单击会附加另一个单击处理程序,这意味着第二次单击会触发多次,因此每次单击都会收到很多“再见”s、 为了避免这种情况,您只需在加载时设置一个变量,如
var isClicked=0
,然后在将处理程序附加到click2之前,检查isClicked==0
,如果为真,则设置isClicked=1
,这样它只工作一次
var isClicked = 0;
$(".click1").click(function () {
alert("hej");
if ( isClicked == 0 ) {
isClicked = 1;
$(".click2").
function ({
alert("bye");
});
}
});
在绑定新的单击事件之前,您应该取消绑定单击事件
$(".click1").click(function () {
alert("hej");
$(".click2").unbind('click');
$(".click2").bind('click',function (){
alert("bye");
});
});
您应该解除绑定在绑定之前单击事件