我正在学习jQuery动画功能,并且正在编写一个小型游戏,用户必须在设置的时间范围内单击移动的div
。游戏处于扭曲状态,以便当时间到了时,将显示最终分数,并且div
为用户提供了一个选项,如果用户单击它,则可以“再次开始”。
问题在于游戏结束时显示的“再次开始” div
。
这是函数:
function GameOver(){
$(".game-over").show();
$("#total-score").text(points);
$(".anidiv").hide();
$("#start-again").on("click", Reset());
}
并且
div
$("#start-again")
引用:<div id="start-again" class="game-over">
<img src="Pictures\tryagain.png" id="tryagain">
</div>
通过调试,我发现在调用
GameOver()
时,将忽略$("#start-again").on("click", Reset());
的第一个参数,并调用Reset()
。换句话说,无需用户单击Reset()
即可自动调用$('#start-again)
。因此,我首先要解决的问题是将$("#start-again").on("click", Reset());
放在$(document).ready()
中,但是该功能也可以工作,用户可以单击它,但不会调用Reset()
。显然,该问题与脚本中
$("#start-again").on("click", Reset());
的位置有关,但是除了弄清楚上面的内容之外,我不太确定从这里到哪里。我已经在JSFiddle上在这里发布了问题
最佳答案
我为你更新了小提琴。问题出在您的Reset
函数上
它应该是
$("#start-again").on("click", Reset);
https://jsfiddle.net/6vLscpt0/1/
关于javascript - jQuery:绕过.on()函数中的“单击”参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33977912/