w3c的標准用法
<form>
<label for="male">Male</label>
<input type="radio" name="sex" id="male" />
<br />
<label for="female">Female</label>
<input type="radio" name="sex" id="female" />
</form>
還有一種用法:<label>包裹<input>標簽
<form action="" class="box">
<label for="btn1">
<input type="radio" name="aa" id="btn1"/>
我是單選按鈕1
</label>
<label for="btn2">
<input type="radio" name="aa" id="btn2"/>
我是單選按鈕2
</label>
</form>
注:這種用法代碼看起來比較規整,多個單選或者復選框時更能在視覺上體現代碼的規整;
但是這種寫法需要注意的問題是:for屬性,
1,加了for屬性就必須要有值(值為內元素input的id),如果只是一個空的for屬性,則label失效,無法關聯到內部的input框的篩選
注:這種寫法label標簽是不起作用的
2,不加for標簽,當用戶選擇該標簽時,瀏覽器會自動將焦點轉到和標簽相關的表單控件上
注:<label>包裹<input>標簽,點擊<label>,<label>響應兩次,即<label>本身出發和<input>觸發后冒泡到<label>。
解決方法:1把label的事件放到input上;2給input加阻止事件冒泡;