button控件與inputtype=button相比,提供了更為強(qiáng)大的功能和更豐富的內(nèi)容。button與/button標(biāo)簽之間的所有內(nèi)容都是按鈕的內(nèi)容,其中包括任何可接受的正文內(nèi)容,比如文本或多媒體內(nèi)容,需要了解的朋友可以參考下
<button>標(biāo)簽
定義和用法
<button>標(biāo)簽定義一個(gè)按鈕。
在button元素內(nèi)部,您可以放置內(nèi)容,比如文本或圖像。這是該元素與使用input元素創(chuàng)建的按鈕之間的不同之處。
<button>控件與<inputtype="button">相比,提供了更為強(qiáng)大的功能和更豐富的內(nèi)容。<button>與</button>標(biāo)簽之間的所有內(nèi)容都是按鈕的內(nèi)容,其中包括任何可接受的正文內(nèi)容,比如文本或多媒體內(nèi)容。例如,我們可以在按鈕中包括一個(gè)圖像和相關(guān)的文本,用它們?cè)诎粹o中創(chuàng)建一個(gè)吸引人的標(biāo)記圖像。
唯一禁止使用的元素是圖像映射,因?yàn)樗鼘?duì)鼠標(biāo)和鍵盤(pán)敏感的動(dòng)作會(huì)干擾表單按鈕的行為。
請(qǐng)始終為按鈕規(guī)定type屬性。InternetExplorer的默認(rèn)類(lèi)型是"button",而其他瀏覽器中(包括W3C規(guī)范)的默認(rèn)值是"submit"。
瀏覽器支持
所有主流瀏覽器都支持<button>標(biāo)簽。
重要事項(xiàng):如果在HTML表單中使用button元素,不同的瀏覽器會(huì)提交不同的值。InternetExplorer將提交<button>與<button/>之間的文本,而其他瀏覽器將提交value屬性的內(nèi)容。請(qǐng)?jiān)贖TML表單中使用input元素來(lái)創(chuàng)建按鈕。
注意事項(xiàng)
在使用<button>標(biāo)簽時(shí)很容易想當(dāng)然的當(dāng)成<inputtype="button">使用,這很容易產(chǎn)生以下幾點(diǎn)錯(cuò)誤用法:
1、通過(guò)$('#customBtn').val()獲取<buttonid="customBtn"value="test">按鈕</button>value的值
在IE(IE內(nèi)核)下這樣用到得的是值是“按鈕”,而不是“test”,非IE下得到的是“test”。參加上面標(biāo)紅的第一句話。
這一點(diǎn)要和<inputtype="button">區(qū)分開(kāi)。
通過(guò)這兩種方式$('#customBtn').val(),$('#customBtn').attr('value')在不同瀏覽器的獲得值,如下:
驗(yàn)證這一點(diǎn)可以在測(cè)試下面的代碼
代碼如下:
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<scripttype="text/javascript"src="jquery-1.4.4.min.js"></script>
<scripttype="text/javascript">
$(function(){
$('#test1').click(function(){
alert($('#customBtn').attr('value'));
});
$('#test2').click(function(){
alert($('#customBtn').val());
});
});
</script>
</head>
<body>
<buttonid="customBtn"value="test">按钮</button>
<inputtype="button"id="test1"value="getattr"/>
<inputtype="button"id="test2"value="getval"/>
</body>
</html>
2、無(wú)意中把<button>標(biāo)簽放到了<form>標(biāo)簽中,你會(huì)發(fā)現(xiàn)點(diǎn)擊這個(gè)button變成了提交,相當(dāng)于<inputtype="submit"/>
這一點(diǎn)參見(jiàn)上面第二句標(biāo)紅的話就明白什么意思了。
不要把<button>標(biāo)簽當(dāng)成<form>中的input元素。
驗(yàn)證這一點(diǎn)可以在測(cè)試下面的代碼
代碼如下:
<html>
<body>
<formaction="">
<button>button</button>
<inputtype="submit"value="inputsubmit"/>
<inputtype="button"value="inputbutton"/>
</form>
</body>
</html>