检测浏览器是否支持自动扩展选择下拉菜单?

时间:2013-02-06 19:54:54

标签: javascript

在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迁移并理解它可能会让我们过去。我并不过分热衷于为一个人(目前)带来更多不便之处。

1 个答案:

答案 0 :(得分:0)

来自jQuery.browser的jQuery API:

  

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

我调查并发现jQuery Migrate Plugin具有$ .browser功能,代码为available at github