在IE 6/7/8中,<select>
元素(如果给定定义的宽度)在打开后不会自动展开。使用浏览器嗅探(jQuery示例是使用$.browser.msie
和$.browser.version
)我可以在一定程度上确定地检测当前浏览器,并且为相关浏览器添加自定义处理程序以供选择。
在jQuery 1.9中,$.browser
对象已被删除。我仍然在生产中使用旧版本,并且能够浏览器嗅探并相应地显示自动扩展选择菜单;但是,如果我们要跟上jQuery的后续版本,这不是一个长期的解决方案。
我已经查看了通过for(var i in document.createElement('select')) { ... }
选择的属性,但无法看到与菜单是否会自动展开有关的任何明显内容。
有这样的事吗?理想情况下,我正在寻找一种不需要浏览器嗅探的香草解决方案。 if(!property in document.createElement('select')) { ... }
会很棒。
[编辑/添加]我知道jQuery迁移并理解它可能会让我们过去。我并不过分热衷于为一个人(目前)带来更多不便之处。
答案 0 :(得分:0)
来自jQuery.browser的jQuery API:
我们建议不要使用此属性;请尝试使用功能 检测(参见jQuery.support)。 jQuery.browser可能会被移动到 jQuery未来版本中的插件。
我调查并发现jQuery Migrate Plugin具有$ .browser功能,代码为available at github。