3

在 IE 6/7/8<select>中,如果给定了定义的宽度,则元素在打开后不会自动展开。通过浏览器嗅探(使用 jQuery 示例$.browser.msie$.browser.version),我可以在一定程度上检测到当前浏览器,并为相关浏览器添加自定义处理程序以进行选择。

在 jQuery 1.9 中,该$.browser对象已被删除。我仍在生产中使用旧版本,并且能够浏览器嗅探并相应地显示自动扩展的选择菜单;但是,如果我们要跟上 jQuery 的最新版本,这不是一个长期的解决方案。

我查看了 select via 的属性,for(var i in document.createElement('select')) { ... }但看不到与菜单是否会自动展开有关的任何明显内容。

有这样的事吗?理想情况下,我正在寻找一种不需要浏览器嗅探的普通解决方案。一个if(!property in document.createElement('select')) { ... }会很棒的。

[编辑/添加] 我知道 jQuery 迁移并理解它可能会让我们渡过难关。我并不太热衷于为一个(目前)微小的不便加载更多的东西。

4

1 回答 1

0

来自jQuery.browser的 jQuery API :

我们建议不要使用此属性;请尝试改用特征检测(参见 jQuery.support)。jQuery.browser 可能会在 jQuery 的未来版本中移动到插件中。

我调查并发现了具有 $.browser 功能的jQuery Migrate 插件,代码可在 github 上找到

于 2013-02-14T15:35:58.397 回答