0

私はasp.netでWebサイトを開発しています.msDropdown-master jQueryを使用して、ドロップダウンリストを「より美しく」変更し、オプションに画像を配置するなどしています。

しかし、このコントロールを使用すると、IE9 では正常に動作せず、パフォーマンスが低下するため、実際に問題が発生します...

Firefox では、コントロールは次のように表示されます。

msDropdown を制御する... Firefox で正常に動作する

IE 9 から、IETester で見た場合、次のように表示されます。

コントロール msDropdown... IETester を使用して IE9 で動作しない

これは、コントロールがすべてのブラウザーでどのように表示されるかです。私は、IE7 のすべてのバージョンから最新のバージョン、および他のすべてのブラウザーに対してサイトをクロスブラウジングするふりをしています。

コードとして、私が使用しているコードを示すことができます。msDropdown css には、公式 Web サイト ( 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. CSS「位置:相対;」を使用して、divを持つ構造があります。
  2. そのdiv内に、css「position:absolute;」を含むいくつかのdivがあります。
  3. ドロップダウンリストは、css "position: absolute;" を含む div の 1 つ内にあります。

今のところ、これが問題だと思います.div構造の外側のドロップダウンリストを削除すると、すべてのIE9、IE8、IE7、さらにはIE6でも完全に機能します。

では、問題は... div 構造内でドロップダウンリストを処理する方法ですか? それがIE9以下でその構造で誤動作することを知っていますか?

そして、この問題の良い解決策...お願い....

与えられた注意を前もって感謝します。

4

2 に答える 2