我正在asp.net 中开发一个网站,我使用msDropdown-master jQuery 来修改一个“更漂亮”的下拉列表,在选项中放置图像等等。
但是使用这个控件,我遇到了一个真正的问题,因为它在 IE9 中不能正常工作并且会降低......
在 Firefox 中,控件如下所示:
从 IE 9 开始,在 IETester 中看到的显示如下:
这就是控件在所有浏览器中的显示方式,我假装让我的网站可以浏览所有版本的 IE7 到最新版本以及所有其他浏览器。
作为代码,我可以向您展示我使用的代码,对于 msDropdown css,我使用官方网站 ( https://github.com/marghoobsuleman/ms-Dropdown ) 中提供的默认值 dd.css。
对于下拉菜单,ASP 代码是:
<asp:DropDownList runat="server" ID="ddLanguageSelector" CssClass="LanguageSelector" AutoPostBack="True" onchange="javascript:if(this.options[this.selectedIndex].value == 'More'){ showMoreLanguages(); return false; }" OnSelectedIndexChanged="ddLanguageSelector_SelectedIndexChanged" meta:resourcekey="ddLanguageSelectorResource" />
jQuery / Javascript 代码是:
// Language Selector
$(document).ready(function (e) {
try {
$("header div.Wrapper div.HeaderUserAccess select.LanguageSelector").msDropDown();
} catch (e) {
alert(e.message);
}
});
根据评论中的要求,我将把我在网站中使用的 jquery 的 regitration 放在这里:
<!--[if lt IE 8]><!-->
<script type="text/javascript" src="Content/Scripts/jQuery/jquery-1.11.0/jquery-1.11.0.min.js"></script>
<!--<![endif]-->
<!--[if gt IE 8]|!(IE)><!-->
<script type="text/javascript" src="Content/Scripts/jQuery/jquery-2.1.0/jquery-2.1.0.min.js"></script>
<!--<![endif]-->
好的,所以我真正需要的是找到一个 whay,其中 msDropdown 在 IE 9、8 和 7 中没有出现未格式化的情况。
你们中有人知道 IE9 中控件的这种行为的原因吗?
好的......现在我刚刚确认了以下内容:
- 我有一个结构,其中有一个 div,带有 css“位置:相对;”
- 在那个 div 里面,我有几个带有 css “position: absolute;” 的 div
- 下拉列表位于包含 css“位置:绝对;”的那些 div 之一内。
现在我只是相信这是问题所在,因为我删除了 div 结构之外的下拉列表,它在所有 IE9、IE8、IE7 甚至 IE6 中都能完美运行。
所以现在的问题是......如何处理 div 结构内的下拉列表?知道它在 IE9 和该结构中的行为不端吗?
这个问题的一个很好的解决方案......请......
提前感谢您的关注。