如何使用Javascript/jQuery解决游戏逻辑中的bug

如何使用Javascript/jQuery解决游戏逻辑中的bug,javascript,jquery,debugging,Javascript,Jquery,Debugging,我在做一个危险的游戏。当用户单击其中一个子类别时,问题将成功弹出。用户还可以成功或失败地回答问题;但是,在他们回答这个问题之后,逻辑似乎在拾取过去的单击,导致事件处理程序为新单击的目标和过去单击的目标执行函数。有关错误的示例,请参见上面的链接 请帮我调试这个 let showQuestion = function(id){ $('body > #simpleModal').css('display', 'block') $('.modal-body >

我在做一个危险的游戏。当用户单击其中一个子类别时,问题将成功弹出。用户还可以成功或失败地回答问题;但是,在他们回答这个问题之后,逻辑似乎在拾取过去的单击,导致事件处理程序为新单击的目标和过去单击的目标执行函数。有关错误的示例,请参见上面的链接

请帮我调试这个

 let showQuestion = function(id){
        $('body > #simpleModal').css('display', 'block')
        $('.modal-body > .question').text(answerQuestion[id].answer)
    }
    let clickCounter = 0
    $('.container > .questionBox').on('click', this,  function() {
        clickCounter += 1
        let id = this.id
        showQuestion(id)
        let questionAnswered = this
        $('.modal-content > button').on('click', this, function(){
            $('body > #simpleModal').css('display', 'none')
            if ($('.modal-content > input').val() === answerQuestion[id].question){
                goodJob()
                $(questionAnswered).css('background-color', 'green') 
                $(questionAnswered).off()
            } else {
                tryAgain()
                $(questionAnswered).css('background-color', 'red') 
                $(questionAnswered).off()
            }

在过去的两周里,我一直在学习网络开发课程,所以我还在学习。“我的网站”是一个正在进行的工作。

它看起来像是在单击侦听器中有一个单击侦听器。这样做有什么原因吗?我想知道第一个,
$('.container>.questionBox')
是否也在模态中拾取单击。但是,如果不看更多的代码,我就无法判断这是否是单击次数增多的原因。

我需要根据单击的内容获取元素的id。因为“this”在第一次单击事件的范围内,所以我在该事件中嵌套了另一个单击事件。如果你想看的话,我也可以发送我的其余代码。谢谢,我可以使用开发工具查看你的所有代码。我也是一个新的开发人员,所以我可能错了,但是如果我在做这个,我会尝试从第一个onclick事件中提取第二个onclick事件,并添加任何需要的逻辑和代码,以使它以您想要的方式工作。