0

ページの読み込み時に開く必要がある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ではまだ失敗します。

4

1 に答える 1

0

$(document).ready({});ファイル B の jQuery を句に入れてみましたか? おそらくIEはファイルAで初期化を行う前にファイルBからコードを実行していると思います.

于 2013-01-02T09:19:31.050 に答える