<button> 与 <input type="button" />。使用哪个?

新手上路,请多包涵

在查看大多数站点(包括 SO)时,大多数站点都使用:

 <input type="button" />

代替:

 <button></button>

  • 两者之间的主要区别是什么(如果有)?
  • 是否有正当理由使用一个而不是另一个?
  • 是否有合理的理由将它们结合使用?
  • 使用 <button> 是否存在兼容性问题,看到它不是很广泛使用?

原文由 Aron Rotteveel 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 336
2 个回答

使用 <button /> 时的另一个 IE 问题:

当我们谈论 IE 时,它有几个与按钮宽度相关的错误。当您尝试添加样式时,它会神秘地添加额外的填充,这意味着您必须添加一个小 hack 来控制事情。

原文由 Tamas Czinege 发布,翻译遵循 CC BY-SA 3.0 许可协议

正如旁注, <button> 将隐式提交,如果您想在表单中使用按钮而不提交,这可能会导致问题。因此,使用 <input type="button"> 的另一个原因(或 <button type="button">

编辑- 更多细节

没有类型, button 隐式接收类型 submit 。表单中有多少个提交按钮或输入并不重要,其中任何一个显式或隐式键入为提交的按钮或输入在单击时都会提交表单。

一个按钮支持 3 种类型

submit ||  "submits the form when clicked (default)"
reset  ||  "resets the fields in the form when clicked"
button ||  "clickable, but without any event handler until one is assigned"

原文由 Travis J 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题