Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.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_Jquery_Click - Fatal编程技术网

Javascript 点击功能进入点击功能

Javascript 点击功能进入点击功能,javascript,jquery,click,Javascript,Jquery,Click,我想如果我把一次点击功能放进点击功能中,只有在点击的情况下才继续第二次点击功能,但是当我点击第一次时,第二次点击的代码正在运行。。。我想如果我点击第二个,它应该运行代码。 我的意思是,当我点击第二个时,代码是可见的,并且按照他们应该做的做,但是如果像第一个函数一样点击3次,而没有点击第二个,然后突然点击第二个,那么代码的行为就像已经运行了三次一样 $(".click1").click(function () { alert("hej"); $(".click2"). fu

我想如果我把一次点击功能放进点击功能中,只有在点击的情况下才继续第二次点击功能,但是当我点击第一次时,第二次点击的代码正在运行。。。我想如果我点击第二个,它应该运行代码。 我的意思是,当我点击第二个时,代码是可见的,并且按照他们应该做的做,但是如果像第一个函数一样点击3次,而没有点击第二个,然后突然点击第二个,那么代码的行为就像已经运行了三次一样

$(".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");
    });
});

您应该解除绑定在绑定之前单击事件