ページの読み込み時に開く必要があるjquery-uiダイアログがあります。関連するコードは2つのファイルにあります。
**FileA**
$(function()
{
//some initialization code here
$("#date-range-dialog").dialog({
modal: true,
autoOpen: false,
buttons:
{
"Ok": function()
{
//some code here
}
}
});
});
**FileB**
$(function()
{
//some code
$('#date-range-dialog').dialog('open');
});
これはChromeとFirefoxで正常に機能します。ただし、IE9では、ダイアログを開くイベント/ステートメントにより、ブラウザーは表示を互換表示に切り替えます。
ダイアログのマークアップは次のとおりです。
<div id="date-range-dialog" title="Date Range">
<div class="form-horizontal">
<div class="control-group">
<label class="control-label">From</label>
<div class="controls">
<input type="text" id="dt-from" class="input-small" />
</div>
</div>
<div class="control-group">
<label class="control-label">To</label>
<div class="controls">
<input type="text" id="dt-to" class="input-small" />
</div>
</div>
</div>
</div>
アプリケーションはTwitterBootstrap2.0.4、jQuery 1.8.3、jQueryUI1.9.2を使用しています。現在、手動のCSSはありません。
奇妙な観察は、ダイアログを開くためのステートメントがコメント化されている場合、それはIE9でも機能するということです。このステートメントを呼び出すボタンがある場合は、すべて問題ありません。
$(".date-range").click(function()
{
$("#date-range-dialog").dialog("open");
});
したがって、この問題は、ダイアログを内で直接開こうとしている場合にのみ発生します。$(function(){});
$(window).load()
イベントにもダイアログオープンステートメントを配置してみました。IE9ではまだ失敗します。