【问题标题】:DIfferent Behavior Between Onclick and OnloadOnclick 和 Onload 之间的不同行为
【发布时间】:2012-10-21 21:42:53
【问题描述】:

我有一个索引网页,上面有一个提交按钮。当我单击该按钮时,我想运行一个将字符串添加到 div 的函数(使用 onclick())。但是,它只是闪烁然后消失。但是当我使用 window.onload 时,它会按照我的意图停留在页面上。代码如下:

<div>
  <form>
    <input type="submit" onclick="test();" value="Add Text">
  </form>
  <div id="holder"></div>
</div>

我在我的页面中包含以下内容并带有“脚本”标签。

当我使用它时,它会停留在页面上(应该如此):

window.onload = function(){
  $('#holder').html("Hello <b>world</b>!");
}

但它在加载后立即消失:

function test(){
  $('#holder').html("Hello <b>world</b>!");
}

谢谢!

【问题讨论】:

    标签: jquery onclick onload


    【解决方案1】:

    您使用的按钮是表单提交按钮,它将提交表单并重新加载页面。

    改为使用&lt;button&gt; 按钮

    使用

    <button onclick="test();">Add Text</button>
    

    而不是

      <form>
        <input type="submit" onclick="test();" value="Add Text">
      </form>
    

    【讨论】:

    • 应该是&lt;button /&gt;还是&lt;input type="button" /&gt;?我不确定当前的标准。
    • w3schools.com/tags/tag_button.asp 定义和用法
    • @JonTaylor buttoninput 是两个不同的元素。 button 不为空,所以 &lt;button /&gt; 无效,如果需要,可以使用 &lt;input type="button" /&gt;,我不会,并且 /&gt; 仅在 XHTML 中需要。
    • 感谢您的澄清,那么按钮和输入类型按钮有什么区别?我一直认为输入类型按钮是按钮元素的更现代版本?此外,我最近不得不写很多 XHTML,因此一直都是 /> :)。
    猜你喜欢
    • 2018-02-18
    • 1970-01-01
    • 2014-11-01
    • 1970-01-01
    • 2018-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多