首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery msDropdown ie9问题

jQuery msDropdown ie9问题
EN

Stack Overflow用户
提问于 2014-05-07 19:22:55
回答 2查看 1.1K关注 0票数 0

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

但是使用这个控件,我有一个真正的问题,因为它在IE9和较低的.

在Firefox中,控件如下所示:

在IE9中,在IETester中可以看到如下所示:

这就是控件在所有浏览器中应该出现的方式,我假装将我的站点交叉浏览所有版本的IE7到最近的浏览器和所有其他浏览器。

作为代码,我可以向您展示我使用的代码,对于msDropdown css,我在官方网站(https://github.com/marghoobsuleman/ms-Dropdown)中使用默认的dd.css。

对于下拉列表,ASP代码是:

代码语言:javascript
复制
<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代码是:

代码语言:javascript
复制
// Language Selector
$(document).ready(function (e) {
    try {
        $("header div.Wrapper div.HeaderUserAccess select.LanguageSelector").msDropDown();
    } catch (e) {
        alert(e.message);
     }
});

根据评论中的要求,我将在这里介绍我在站点中使用的jquery的正则化:

代码语言:javascript
复制
<!--[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]-->

好的,所以我真正需要的是在IE9,8和7中找一个msDropdown不加格式化的whay。

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

好的..。就目前而言,我刚刚证实了以下几点:

  1. 我有一个结构,其中我有一个div,带有css的“位置:相对;”
  2. 在这个div中,我有几个带有css的div“位置:绝对”;
  3. 下拉列表在其中一个包含css“位置:绝对”的div中;

现在,我只相信这就是问题所在,因为我在div结构之外删除了下拉列表,它在所有IE9、IE8、IE7甚至IE6中都非常完美。

所以现在问题是..。如何处理div结构中的下拉列表?知道它在IE9中的行为不正常,在那个结构中更低?

解决这个问题的好办法..。拜托..。

提前感谢大家的关注。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-12 13:18:55

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

为了旧浏览器兼容旧结构..。

票数 0
EN

Stack Overflow用户

发布于 2014-05-07 20:09:52

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

代码语言:javascript
复制
<!--[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/

还要检查工作(兼容) http://jquery.com/browser-support/的IE版本

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23526517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档