我在jQuery标签中有一个表单;我以一种简单的方式创建标签:
$("#tabs").tabs({selected: 1});
选定的索引1是放置表单的选项卡。问题是,在具有IE6的远程计算机上,当单击下拉箭头时,两者都选择仅显示一个小的空行而不是带有选项的列表:
Incorrect dropdown http://queen3.at.tut.by/DropDownIE6jQuery.PNG
页面源中有选项,所有内容实际上都适用于其他机器,其他浏览器以及IE6(尽管我使用的是IETester)。
如果我
,一切也都有效有谁知道是什么原因引起的?它是IE6的bug还是我脚本的东西?
更新:嗯,感谢this,我发现它与我的CSS有关 - 如果我禁用Site.css它可以工作。我只考虑过脚本。还是要找出那是什么。
更新:好的,这是由这个CSS规则引起的:
body { font-size: 0.7em; }
如果我设置0.8或更高,它可以工作,但是对于0.7和更低的IE6,它会显示错误。
有人可以解释一下吗?是的它是IE6 - 根据定义很奇怪,但这个在我看来太奇怪了。
答案 0 :(得分:0)
我也碰到了这个确切的问题,虽然我无法通过修改任何正文字体来修复它,但我确实设法使用{{略微修改的)“丑陋的黑客”方法解决它,如{{ 3}}链接,由CiscoIPPhone发布:
// Ugly hack to switch tabs in IE6, fixing select menu bug.
if($.browser.msie && $.browser.version.substr(0, 1) <= 6) {
$("#tabs").tabs({ selected: 1 });
setTimeout(function() {
$("#tabs").tabs("select", 0);
}, 10);
}
似乎超时是避免此错误的关键。
答案 1 :(得分:0)
我发现这种解决方法在某些计算机上修复了问题,但在其他计算机上却没有。
我的解决方案是在样式表中隐藏所有选择元素,然后在调用$( "#tabs" ).tabs()
后我使用$('select').show()
来显示它们。
为我修好了。