为什么我的第二条if语句在我的第一条if语句为true之后连续运行两次?

时间:2018-12-30 13:49:53

标签: javascript jquery if-statement onclick click

大家好,我的checkRight()函数有问题。 我试图用js建立测验网页。 这是我的完整代码:https://www.codeply.com/go/qoCnPUDDxG 我的问题由一个类组成,该类具有:问题(字符串),答案(字符串数组)和答案(字符串)属性。 如果我单击正确的答案,我的计数器就会非常混乱。

function checkRight (){
  $(".answer").click(function() {
       check = $(this).html();
       if(check===qAry[i].rightAnswer){
         rightCounter++;
         $(".richtigZaehler").text(rightCounter);
         i++;
         askQ();
       }
         else if(check!=qAry[i].rightAnswer){
         console.log("Update");
         wrongCounter++;
         $(".falschZaehler").text(wrongCounter);
      }
  });
}

1 个答案:

答案 0 :(得分:1)

如何在外部添加点击处理程序?否则,您将需要注销它们。

var rightCounter=0; //counter for rightAnswer
var wrongCounter=0; //counter for wronganswer

$(".answer").on("click", function() {
 checkRight(this);   
})

然后在您的checkRight函数中:

function checkRight (evt){
       check = $(evt).html();
       if(check===qAry[i].rightAnswer){
           debugger;
         rightCounter++;
         $(".richtigZaehler").text(rightCounter);
         i++;
         askQ();
       }
         else if(check!=qAry[i].rightAnswer){
         console.log("Update");
         wrongCounter++;
         $(".falschZaehler").text(wrongCounter);
      }
}