javascript - 为什么在第一个 if 语句为 true 后,我的第二个 if 语句连续运行两次?

标签 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);
      }
  });
}

最佳答案

在外部添加点击处理程序怎么样?否则您将需要取消注册它们。

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);
      }
}

关于javascript - 为什么在第一个 if 语句为 true 后,我的第二个 if 语句连续运行两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53978160/

相关文章:

javascript - .slideToggle 类单独基于 .click

python-2.7 - 井字游戏程序(Python)中的错误

javascript - 删除数组中的第一个和最后一个元素

javascript - jquery 选择没有 id 的表单元素

javascript - 尽管传递了 JSLInt,但输入仍意外结束

javascript - 有没有办法在jquery中设置计时器

python - 有条件地写入不同的输出文件

r - 在 R 中使用 if else 为 for 语句的每次迭代保存值

javascript - 在更新时显示日志文件的内容

javascript - 如何在 Google Chrome 中使用 JavaScript 获取系统小数点分隔符?