Javascript 为什么当我在框中输入一个数字并选择“猜测”时,number randomNumber函数会运行

Javascript 为什么当我在框中输入一个数字并选择“猜测”时,number randomNumber函数会运行,javascript,jquery,Javascript,Jquery,我正在做一个家庭作业来创建一个热/冷应用程序,但是被卡在了提交(猜测)按钮上。我编写了一个名为newGame的函数,因此当您选择新游戏时,randomNumberGenerator函数将运行。但是,如果您在输入框中输入一个数字并选择猜测按钮,它似乎也在运行,但我不知道为什么。下面是我的脚本,以及一个链接,链接到一个js小提琴和整个代码: $(document).ready(function(){ var randomNumber = 0; var userGuess = 0; var gues

我正在做一个家庭作业来创建一个热/冷应用程序,但是被卡在了提交(猜测)按钮上。我编写了一个名为newGame的函数,因此当您选择新游戏时,randomNumberGenerator函数将运行。但是,如果您在输入框中输入一个数字并选择猜测按钮,它似乎也在运行,但我不知道为什么。下面是我的脚本,以及一个链接,链接到一个js小提琴和整个代码:

$(document).ready(function(){

var randomNumber = 0;
var userGuess = 0;
var guessCount = 0;

//generates number
function randomNumberGenerator() {
    randomNumber = Math.floor(Math.floor(Math.random()*100));
    console.log("random number= " + randomNumber);
}

randomNumberGenerator();
//starts new game
function newGame(){
    guessCount = 0;
    randomNumber = (Math.floor(Math.random()*100));
    console.log("new number is " + randomNumber);
}

function compareGuess(){
    if (userGuess == randomNumber) {
    $('#feedack').text('correct');
    }
}

//submit
$('#guessButton').click(function() {
    compareGuess();
});

//click for new game
$( ".new" ).click(function() {
newGame();
});


});


谢谢你的帮助,我是初学者。如果我能提供任何其他信息,请告诉我。

更改按钮类型
提交
按钮

<input type="button" id="guessButton" class="button" name="submit" value="Guess"/>
此外,在新游戏中,您必须重置所有内容,但您可以在新游戏中单击
,执行
window.location.reload()


单击“猜测”时,randomNumberGenerator
未运行

页面正在重新加载,因为类型为
submit
input
将尝试提交表单(重新加载页面)

您误解了
按钮
提交
之间的一些语义。它们类似,但在这种情况下,
按钮
不会刷新页面,
提交
会刷新页面

因此,当单击Guess时,页面将重新加载,
randomNumberGenerator
运行。但这只是因为页面刷新了,而不是因为点击了Guess


要解决此问题,您需要将
输入
类型更改为
按钮
,而不是
提交

它在
DOM
就绪状态下运行。我可以在新游戏中获得
控制台
。更改按钮
键入
提交
按钮
。是否有方法防止在选择Guess时运行randomNumberGenerator功能。用户需要能够在不改变随机数的情况下进行多次猜测。请检查更新的fiddle
function compareGuess(){
        //changes made here
        //if (userGuess == randomNumber) {   
        if ($("#userGuess").val() == randomNumber) {
        //you have miss spelled "feedback"
        $('#feedback').text('correct');
        }
    }