label里面的for有什么意義


定義和用法

for 屬性規定 label 與哪個表單元素綁定。

隱式和顯式的聯系

標記通常以下面兩種方式中的一種來和表單控件相聯系:將表單控件作為標記標簽的內容,這樣的就是隱式形式,或者為 <label> 標簽下的 for 屬性命名一個目標表單 id,這樣就是顯式形式。

例如,在 XHTML 中:

顯式的聯系:
<label for="SSN">Social Security Number:</label>
<input type="text" name="SocSecNum" id="SSN" />

隱式的聯系:
<label>Date of Birth: <input type="text" name="DofB" /></label>

第一個標記是以顯式形式將文本 "Social Security Number:" 和表單的社會安全號碼的文本輸入控件 ("SocSecNum") 聯系起來,它的 for 屬性的值和控件的 id 一樣,都是 SSN。第二個標記 ("Date of Birth:") 不需要 for 屬性,它的相關控件也不需要 id 屬性,它們是通過在 <label> 標簽中放入 <input> 標簽來隱式地連接起來的。

最常見的checkbox的使用:


<input type="checkbox" name="test" /> 點擊這里沒有任何效果
運行代碼 復制代碼 另存代碼 提示:您可以先修改部分代碼再運行


因為checkbox在高分辨率下,小方塊會很小,很不容易點,這難免在用戶體驗上大打折扣。

下面看看我們的解決方法:

1、給checkbox配個“老婆”(老婆的特點:必要的):


<input type="checkbox" id="test" name="test" /><label for="test">點擊這里就可以選中label</label>
運行代碼 復制代碼 另存代碼 提示:您可以先修改部分代碼再運行


for屬性功能:表示lable標簽要綁定的HTML元素,點擊這個標簽的時候,所綁定的元素將獲取焦點。

補充: 除以上方法,還可以直接用 label 套嵌整個表單組件和文本標簽,如:


<label><input type="checkbox" />點擊這里就可以選中label</label>
運行代碼 復制代碼 另存代碼 提示:您可以先修改部分代碼再運行


根據規范這樣文本會自動與鄰接的表單組件關聯,但遺憾的是 IE 並不支持這個特性。

2、給checkbox配個“小蜜”(小蜜的特點:更周到):


<input type="checkbox" id="test" name="test" /><label for="test" style="cursor:pointer">鼠標移到此處提示可點擊,點擊可選中label</label>
運行代碼 復制代碼 另存代碼 提示:您可以先修改部分代碼再運行


想起《大話西游里》唐僧的嘮叨:“你想要啊?你要是想要的話你就說話嘛,你不說我怎么知道你想要呢,雖然你很有誠意地看着我,可是你還是要跟我說你想要的。你真的想要嗎?那就拿去吧!你不是真的想要吧?難道你真的想要嗎?…………”

這話說出了用戶體驗的精華,你不告訴用戶,用戶怎么知道這里能點擊。所有我們需要給label加個屬性(cursor:pointer)來告訴用戶這里可以點擊。

3、給checkbox再配個“情人”(情人的特點:可取代性):


<input type="checkbox" id="test" name="test" /><label for="test" style="cursor:pointer" accesskey="1">鼠標移到此處提示可點擊,點擊可選中label,你也可以用鍵盤快捷方式來<span style="text-decoration:underline;">1</span>(Alt+1)來選擇checkbox</label>
運行代碼 復制代碼 另存代碼 提示:您可以先修改部分代碼再運行


網站要兼顧更多類型的用戶使用,比如某些從不使用鼠標,只使用鍵盤操作的用戶,點擊對於它們來說,已經沒有任何意義,那我們該怎么做呢,最好的方法就是使用label的accesskey屬性。

accesske屬性功能:表示訪問lable標簽所綁定的元素的熱鍵,當您按下熱鍵,所綁定的元素將獲取焦點。

注意:accessKey屬性所設置的快捷鍵不能與瀏覽器的快捷鍵沖突,否則將優先激活瀏覽器的快捷鍵。


免責聲明!

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



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