jQuery msDropdown ie9问题

时间:2014-05-07 19:22:56

标签: javascript jquery html css msdropdown

我正在asp.net中开发一个网站,我使用msDropdown-master jQuery来修改转换下拉列表“更漂亮”,将图像放在选项中等等。

但是使用这个控件,我有一个真正的问题,因为它在IE9中不能正常工作并降低...

从Firefox中,控件如下所示:

Control msDropdown... Working fine in Firefox

从IE 9开始,在IETester中看到如下所示:

Control msDropdown... Not Working in IE9 using 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的注册:

<!--[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]-->

好的,所以我真正需要的是发现msDropdown在IE 9,8和7中没有格式化的情况。

你们中有谁知道IE9中控件的这种行为的原因吗?

好的......现在我刚刚确认了以下内容:

  1. 我有一个结构,我有一个div,css“position:relative;”
  2. 在div中,我有几个div与css“position:absolute;”
  3. 下拉列表位于其中一个包含css“position:absolute;”
  4. 的div中

    现在我只相信这是问题,因为我删除了div结构之外的下拉列表,它在所有IE9,IE8,IE7甚至IE6中都运行良好。

    所以现在的问题是......如何处理div结构中的下拉列表?知道它在IE9中行为不端而在该结构中更低吗?

    这个问题的一个很好的解决方案......请....

    提前感谢您的注意。

2 个答案:

答案 0 :(得分:0)

我认为这是jquery版本的问题。使用此代码:

<!--[if lt IE 9]>
    <script src="Content/Scripts/jQuery/jquery-1.11.0/jquery-1.11.0.min.js"></script>
<![endif]-->
<!--[if (gte IE 9) | (!IE)]><!-->
    <script src="Content/Scripts/jQuery/jquery-2.1.0/jquery-2.1.0.min.js"></script>
<!--<![endif]-->

希望它有效。使用所有IE版本测试:http://jsfiddle.net/3BzGP/9/show/

检查有效的IE jquery版本(兼容) http://jquery.com/browser-support/

答案 1 :(得分:0)

我发现了问题,它仅在IE9和更低版本中附加,因为ms-Dorpdown生成了几个div,而我创建的第一个div是属性possition:absolute;,这使得IE9不起作用。 我找到的解决方案是创建一个旧的表结构而不是div ...

对于旧浏览器兼容旧结构......