Aro*_*eel 1588 html compatibility button html-input
在查看大多数网站(包括SO)时,大多数网站使用:
<input type="button" />
Run Code Online (Sandbox Code Playgroud)
代替:
<button></button>
Run Code Online (Sandbox Code Playgroud)
<button>兼容性问题,看到它没有被广泛使用?Tam*_*ege 642
使用时的另一个IE问题<button />:
虽然我们在谈论IE,但它有一些与按钮宽度相关的错误.当你试图添加样式时,它会神秘地添加额外的填充,这意味着你必须添加一个小小的黑客来控制事物.
Tra*_*s J 307
就像旁注一样,<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"
Run Code Online (Sandbox Code Playgroud)
小智 42
在<button>元素内部,您可以放置内容,如文本或图像.
<button type="button">Click Me!</button>
Run Code Online (Sandbox Code Playgroud)
这是此元素与使用该<input>元素创建的按钮之间的区别.
use*_*579 37
引用
重要提示:如果您在HTML表单中使用button元素,则不同的浏览器将提交不同的值.Internet Explorer将在
<button>和</button>标签之间提交文本,而其他浏览器将提交value属性的内容.使用input元素在HTML表单中创建按钮.
来自:http://www.w3schools.com/tags/tag_button.asp
如果我理解正确,答案是从浏览器到浏览器的兼容性和输入一致性
小智 16
如果要在表单中创建按钮,请使用input元素中的按钮.如果要为操作创建按钮,请使用按钮标记.
Att*_*lio 16
我将引用文章锚点,输入和按钮之间的区别:
锚(<a>元素)表示人可以在浏览器中导航或下载的超链接,资源.如果要允许用户移动到新页面或下载文件,请使用锚点.
一个输入(<input>)表示数据字段:所以你的意思是某些用户数据发送给服务器.有相关的几个按钮输入类型:<input type="submit">,<input type="image">,<input type="file">,<input type="reset">,<input type="button">.
它们中的每一个都有含义,例如" file "用于上传文件," reset "清除表单," submit "将数据发送到服务器.检查MDN或W3Schools 上的 W3参考.
的按钮(<button>)元素是相当具有通用性:
::before和::after伪元素;disabled属性.这样可以轻松打开和关闭它们.再次,在MDN或W3Schools 上检查<button>标签的W3参考.
Ser*_*yar 11
<button>
Run Code Online (Sandbox Code Playgroud)
与
<input type='button'>
Run Code Online (Sandbox Code Playgroud)
-
在现代浏览器中,两个元素都可以使用css轻松设置样式,但在大多数情况下,button元素是首选,因为您可以使用内部html和伪元素设置更多样式
小智 10
尽管这是一个非常古老的问题并且可能不再相关,但请记住,<button>标签曾经存在的大多数问题不再存在,因此强烈建议使用它。
如果由于各种原因您不能这样做,请记住在您的标签中添加属性 role=”button” 作为可访问性。这篇文章信息量很大:https : //www.deque.com/blog/accessible-aria-buttons/
如果你使用jQuery有很大的不同.jQuery知道输入上的事件多于按钮上的事件.在按钮上,jQuery只知道"点击"事件.在输入上,jQuery知道'click','focus'和'blur'事件.
您可以随时根据需要将事件绑定到按钮,但请注意jQuery自动识别的事件是不同的.例如,如果您创建了一个在页面上有"focusin"事件时执行的函数,则输入将触发该函数,但按钮则不会.
小智 6
<button>它很灵活,因为它可以包含HTML.而且,使用CSS进行样式设计要容易得多,并且样式实际上可以应用于所有浏览器.但是,有关Internet Explorer(Eww!IE!)的一些缺点.Internet Explorer不会使用标记的内容作为值来正确检测值属性.无论是否单击该按钮,表单中的所有值都将发送到服务器端.这使得使用它成为一个<button type="submit">棘手而痛苦的事情.
<input type="submit">另一方面,没有任何价值或检测问题,但你不能像你一样添加HTML <button>.风格也更难,而且样式并不总能在所有浏览器中做出很好的反应.希望这有帮助.
| 归档时间: |
|
| 查看次数: |
588514 次 |
| 最近记录: |