轉載請注明出處:http://www.cnblogs.com/shamoyuu/p/6405914.html
可選的可以做按鈕的元素有如下幾個
a、input、button、div(span等)
場景一:需要禁用此按鈕
在此場景下可以排除a和div(span等)標簽,因為想禁用和解禁它們真的非常困難。
場景二:需要在form里自定義執行事件
在form元素內,button默認是submit。
但是button也有type屬性,默認值是submit,還有其他兩個值是button和reset。如果設置成button,就是普通的按鈕,不會在form里提交表單。
場景三:需要特殊的按鈕內容,例如圖片等
button支持圖片和文字,但是在IE9及以下,$("button").val()和$("button").attr('value')都是返回標簽之間的內容,而其他瀏覽器返回標簽value屬性的值。
input雖然只能設置一個value作為按鈕文字,但是可以和label結合,也能放圖片在里面。
根據以上場景來看,button和input是最適合做按鈕的,在各種情況下都完美勝任。
而且從語義化的角度考慮,button也最適合做按鈕。
綜上所述,請使用button做按鈕,但是需要標簽的內容和value屬性的值盡量保持一致。
注:很多人不用button做按鈕是因為它自帶默認樣式,而且每個瀏覽器可能都不一樣,懶得初始化所以用a標簽這樣的來做按鈕。
可以用過下面的css來初始化button的樣式
button { -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -webkit-appearance: none; padding: 0; margin: 0; outline: none; border: none; border-radius: 0; background: transparent; }