【问题标题】:how to stop Math.random to NOT iterate with each .click()如何停止 Math.random 不迭代每个 .click()
【发布时间】:2014-03-01 23:49:53
【问题描述】:

我正在学习 jQuery/js 并致力于“热或冷”练习,这似乎是一个流行的起点。

但是,在提交用户输入时,.click() 似乎会导致 Math.random 生成一个新数字,从而在用户每次提交猜测时创建一个新数字。期望的结果是生成的数字保持不变。

据我所知,我的代码看起来是正确的。有人可以解释我的错误吗?

HTML

<title>Untitled Document</title>
</head>

<body>

<button>
      play?
   </button>

<div class="show">
    </div>

   <form>
    <input type="text" name="inputform" id="textbox" 
    autocomplete="off" value="">
    <input type="submit" id="txtbutton" class="txtbutton" value="Submit">
   </form>

  <div class="showMore">
  </div>

</body>
</html>

JS

$(document).ready(function(){

    var randomNum = Math.floor((Math.random()*100)+1);

    $('div').text(randomNum);

    var ui = $('#textbox');

    $('.txtbutton').click(function(){
        var clearGuess = function() {
            $("#userGuess").val("").focus();
        };
        var x = ui.val();
    });
});

【问题讨论】:

  • 你的错误是什么?从我的角度来看,它看起来不错!?!
  • 有些代码你没有显示...请显示所有相关代码。
  • 提交猜测后页面是否重新加载?
  • @d'alar'cop 已编辑以显示所有 .js 和 .html
  • @72Monkeys 删除你的表单标签然后,你有一个表单,这个表单被发布,页面被刷新,你的代码然后生成一个新的随机数。移除表单,添加普通按钮,捕获点击事件

标签: javascript jquery


【解决方案1】:

每当您单击该按钮时 - 提交的表单会导致页面重新加载。

为了防止提交所有表单,您可以:

$("form").submit(function(){
     return false;
});

这应该可以解决您的问题。

祝你好运,享受编写 JavaScript 的乐趣。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-26
    • 2017-12-10
    • 2015-12-15
    • 2018-07-20
    相关资源
    最近更新 更多