如何使用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事件,并添加任何需要的逻辑和代码,以使它以您想要的方式工作。