私はasp.netでWebサイトを開発しています.msDropdown-master jQueryを使用して、ドロップダウンリストを「より美しく」変更し、オプションに画像を配置するなどしています。
しかし、このコントロールを使用すると、IE9 では正常に動作せず、パフォーマンスが低下するため、実際に問題が発生します...
Firefox では、コントロールは次のように表示されます。
IE 9 から、IETester で見た場合、次のように表示されます。
これは、コントロールがすべてのブラウザーでどのように表示されるかです。私は、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 でのコントロールのこの動作の理由を知っている人はいますか?
わかりました...今のところ、次のことを確認しました。
- CSS「位置:相対;」を使用して、divを持つ構造があります。
- そのdiv内に、css「position:absolute;」を含むいくつかのdivがあります。
- ドロップダウンリストは、css "position: absolute;" を含む div の 1 つ内にあります。
今のところ、これが問題だと思います.div構造の外側のドロップダウンリストを削除すると、すべてのIE9、IE8、IE7、さらにはIE6でも完全に機能します。
では、問題は... div 構造内でドロップダウンリストを処理する方法ですか? それがIE9以下でその構造で誤動作することを知っていますか?
そして、この問題の良い解決策...お願い....
与えられた注意を前もって感謝します。