button標簽與input type=button標簽使用的差異


button標簽和input type=button標簽都是html文檔中用來表示按鈕屬性的元素,不過他們在布局和實際使用功能中存在一些差異。

下面將項目中遇到的一些總結如下:

1.屬性和布局差異。

(a)width/height屬性的差異

button標簽的的width 和height屬性是包括border在內的;

Input  type=button的border則是在設定的width和height之外在加上border的寬度;

 

如下圖中右上方紅色邊框為button標簽;右下角紅色邊框為input type=button標簽,width均為30px ,height為100px

 

2.功能使用上的差異

(a)val()獲取值的差異

在使用<button>標簽時很容易想當然的當成 <input type="button">使用,HTML 表單中使用 button 元素,不同的瀏覽器會提交不同的值。Internet Explorer 將提交 <button> 與 <button/> 之間的文本,而其他瀏覽器將提交 value 屬性的內容。

如:

通過$('#customBtn').val()獲取<button id="customBtn" value="test">按鈕</button> value的值

     在IE(IE內核)下這樣用到得的是值是“按鈕”,而不是“test”,非IE下得到的是“test”。

(a)button更多的功能

在 button 元素內部,您可以放置內容,比如文本或圖像。

<button> 控件 與 <input type="button"> 相比,提供了更為強大的功能和更豐富的內容。不過在使用中應該時刻規定type屬性;

在form表單中,internet Explorer 的默認類型是 "button",而其他瀏覽器中(包括 W3C 規范)的默認值是 "submit"。

 

tips:語義與可訪問性

使用 Buttons 時應當考慮可訪問性。如果是鏈接到外部資源或內部頁面的鏈接應當使用 鏈接 (a)標簽。如果是應用程序中的功能按鈕,例如:添加到購物車,應當使用  button 標簽。如果實在表單中使用,應當使用 input 標簽(例如提交按鈕)。如果你想深入了解這方面的知識,請參考下面列出的鏈接:

 

References

http://www.bootcss.com/p/buttons/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM