簡體   English   中英

為什么當我調整 select 的大小時,第一個元素被選中?

[英]Why is it that when I resize my select the first element becomes selected?

如果<select>標記的size從 JavaScript 動態更改,則如果初始size屬性為01 (MSEdge,Win10),則自動選擇第一個元素。

 <select id="s" size="1"> <option>a <option>b <option>c </select> <select size="3"> <option>a <option>b <option>c </select> <script> s.size=3; </script>

我想 0 或 1 的size會強制進行選擇,但我不明白為什么會這樣,因為我沒有要求它這樣做。

有人有解釋嗎?

這實際上包含在規范中:

如果插入節點或刪除節點導致選項列表獲得或丟失一個或多個選項元素,或者如果選項列表中的選項元素要求重置,則如果 select 元素的多屬性不存在,則用戶代理必須運行以下列表中的第一組適用步驟:

  • 如果 select 元素的顯示大小為 1,並且 select 元素的選項列表中沒有選項元素的選擇度設置為 true
    • 將選項列表中未禁用(如果有)的第一個選項元素的選中狀態設置為 true。
  • 如果 select 元素的選項列表中的兩個或多個選項元素的選擇性設置為 true
    • 在按樹順序排列的選項列表中,將除最后一個選項元素之外的所有選項元素的選中性設置為 true,並將其選中性設置為 true。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM