有什麼方法可以使用JavaScript檢測給定的瀏覽器是否將重點爲<select multiple>
的元素渲染爲彈出框或單獨作爲內聯框?檢測瀏覽器是否顯示<select multiple>作爲模式對話框
在一些平臺,如Android瀏覽器和iOS Safari瀏覽器,使用彈出窗口可以通過比較,比如說高度進行檢測,
<select multiple>
<option>a</option>
<option>a</option>
<option>a</option>
<option>a</option>
<option>a</option>
<select>
和
<select multiple>
<option>a</option>
<select>
的高度是相同,因爲<select>
s被縮減到一個下拉按鈕框。但是在Playbook等其他設備上,此測試會給出一個錯誤的否定結論,因爲Playbook瀏覽器呈現擴展選擇列表和會在點擊時顯示彈出窗口。
任何人都可以想出一個可靠的方法來確定是否顯示本機選擇彈出?
爲什麼要檢測這個?如何渲染這樣的組件取決於客戶端,而不是您。除非你有一個非常具體的原因,否則你應該單獨放棄這種行爲。 – Brad
我正在使用jQuery Mobile開發一個項目,並試圖提出一種替代jQuery Mobile的[選擇菜單](http://jquerymobile.com/test/docs/forms/forms-selects.html)的演示文稿。顯示選擇選項的原生方法在不顯示彈出窗口的瀏覽器中不起作用,而兩種樣式的版本性能相當差。我希望能夠始終使用本機控件,使用本機彈出式窗口或假覆蓋。 – kpozin
請注意* select *的* size *選項。如果這是'1',則瀏覽器可以將該元素呈現爲內嵌元素。 – sergzach