在 IE 6/7/8 中 <select>
元素,如果给定一个定义的宽度,打开后不会自动扩展。通过浏览器嗅探(jQuery 示例使用 $.browser.msie
和 $.browser.version
),我可以在一定程度上检测到当前浏览器,并为相关浏览器添加自定义处理程序以进行选择。
在 jQuery 1.9 中 $.browser
对象已被删除。我仍在生产中使用旧版本,并且能够浏览器嗅探并相应地显示自动扩展的选择菜单;但是,如果我们要跟上 jQuery 的更高版本,这不是一个长期的解决方案。
我已经通过 for(var i in document.createElement('select')) { ... }
查看了 select 的属性但看不到任何与菜单是否会自动展开有关的明显内容。
有这样的事吗?理想情况下,我正在寻找不需要浏览器嗅探的普通解决方案。一个if(!property in document.createElement('select')) { ... }
太棒了。
[编辑/添加] 我知道 jQuery migrate 并且理解它可能会帮助我们渡过难关。我并不过分热衷于为了一个(目前)微小的不便而加载更多东西。
最佳答案
来自 jQuery.browser 的 jQuery API :
We recommend against using this property; please try to use feature detection instead (see jQuery.support). jQuery.browser may be moved to a plugin in a future release of jQuery.
我调查并找到了 jQuery Migrate Plugin它具有 $.browser 功能,代码是 available at github .
关于javascript - 检测浏览器是否支持自动扩展选择下拉菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14737597/