【问题标题】:In todays modern browsers, is there ever any advantage to using input[type="button"] over <button>?在当今的现代浏览器中,使用 input[type="button"] 而不是 <button> 有什么好处吗?
【发布时间】:2017-07-10 05:41:39
【问题描述】:

根据我对&lt;button&gt;s 与input[type="button"] 的了解,我看不出有什么优势可以迫使我使用input[type="button"] - 有吗?

请注意,我不关心

【问题讨论】:

  • 您的问题标题和文本不匹配 -- 您是在比较 &lt;button&gt;&lt;input type="submit"&gt; 还是 &lt;input type="button"&gt;?还是两者兼而有之?
  • 感谢您的关注 - 已更新。
  • @MikeMcCaughan - 我看到了,但那是古老的(从 2009 年开始!),而且最近的答案或 cmets 很少。另外,如果我在那里发表了评论,我怀疑它会引起任何关注,而且肯定不会像我通过创建一个新问题那样立即......也许stackoverflow需要解决一个场景?
  • 自 2009 年以来,这些元素的定义基本上没有任何改变,那么为什么答案会改变(除了一些琐碎的事情,比如关于某些旧浏览器版本的警告)。

标签: html button forms


【解决方案1】:

这是一个非常好的问题,因为答案不是你所期望的。

事实证明,最相关的考虑根本不是&lt;input&gt;/&lt;button&gt; 元素......而是type 属性。

原因如下:

&lt;button&gt; 的默认行为与&lt;input type="submit" /&gt; 相同

如果您想让&lt;button&gt; 的行为(以及外观)类似于&lt;input type="button" /&gt;,您需要使用...

<button type="button">

【讨论】:

    【解决方案2】:

    我不确定是否还有其他技术原因,但我更喜欢更简单的 HTML 和 CSS。

    编写&lt;button&gt;Button&lt;/button&gt; 并使用button {…} 设置样式比编写&lt;input type="button" value="Button'&gt;input[type="button"] {…} 更容易。更不用说你的 &lt;input type="button"&gt; 可能继承了不幸的 input {…} 样式,需要更多的 CSS 行来消除损坏。

    这两种方法已经使用了很长时间(IE6+?),尽管我相信一些旧浏览器默认有&lt;button&gt; 点击提交表单,除非另有说明。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-26
      • 2011-05-14
      • 2013-01-03
      • 1970-01-01
      • 2010-10-02
      • 1970-01-01
      相关资源
      最近更新 更多