javascript - 检测浏览器是否将 <select multiple> 显示为模态对话框

标签 javascript html select cross-browser browser-feature-detection

有没有什么方法可以使用 JavaScript 来检测给定的浏览器是否呈现焦点 <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 浏览器会呈现展开的选择列表,在单击它们时显示弹出窗口。

谁能想出一种可靠的方法来确定是否显示 native 选择弹出窗口?

最佳答案

看起来 masedesign 正在朝着这个方向发展,但我要更进一步:

也许检测移动浏览器 vs 非移动浏览器(例如RIM、Android、iOS等VS FF、Chrome、Opera、Safari、IE 等)

关于javascript - 检测浏览器是否将 <select multiple> 显示为模态对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6739285/

相关文章:

javascript - 使用 zip 运行所有 Observables

mysql - 在一列中应用 group_conact 并显示所有其他列以及 group-concat 列

Mysql 将日期转换为星期几

mysql 选择行然后复制行并更新值

javascript - 循环遍历数组来查找一个国家的邻居

javascript - 你如何手动热重载 Flutter

javascript - 从 Razor 表单执行 Jquery 方法

jquery - RadioButton 可拖动只能移动单选按钮圆圈而不移动值为什么?

PHP/MySQL删除记录不删除

html - IE8透明div在图像上