2013-01-08 95 views
0

我無法獲取在IE中呈現的模式對話框。屏幕變暗(如禁用),但對話本身無處可尋。 Chrome中的行爲如預期;屏幕變暗並出現對話框。我已經多次清除IE和Chrome中的緩存,以確認這不是某種陳舊的參考問題。我也用.hide()。show()和$(「#waiting1」)。dialog('open')玩過遊戲,但結果相同。IE中的jquery對話框不顯示

<html> 
    <head> 

    <script src="/scripts/jquery-1.8.0.min.js" type="text/javascript"></script> 
    <script src="/scripts/jquery-ui-1.8.23.custom.min.js" type="text/javascript" ></script> 

    <link rel="stylesheet" type="text/css" href="/css/themes/base/jquery.ui.all.css" > 

      <script type="text/javascript"> 

       $(function() {  

        $("#waiting1").dialog(); 

       }); 

      </script> 
    </head> 
    <body> 
      <div id="waiting1" style="display:none;"> 
       <center> 
        <img src="black_loading.gif" /> 
       </center> 
      </div> 


    </body> 

+0

你檢查錯誤控制檯? – War10ck

回答

0

您對jquery.ui.all.css參考沒有結束。

如果它在Chrome和其他瀏覽器中運行,它也應該在IE中正常運行(也許UI上的差異很小)。

+0

我關閉了對jquery.ui.all.css的引用,作爲對OP的編輯。我同意 - 它應該在IE中正常運行,但事實並非如此。我看到許多關於模態對話的類似風格的帖子在IE中表現有點不同,但沒有一個顯示行爲差異像我一樣完全缺失。 – goldfinger

0

我猜你的主題或CSS有問題,會覆蓋它。這小提琴接近您的方案,並且它IE8和10的工作原理:http://jsfiddle.net/yrFWJ/2/

<span class="click">Click</span> 

<div id="waiting1" style="display: none;"> 
    <center>Nice!</center> 
</div> 

<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js"></script> 

<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.0/themes/base/jquery-ui.css" type="text/css" media="all" /> 

$('.click').click(function() { 
    $("#waiting1").dialog(); 
}); 
0

我有類似的問題,並注意到樣式包括後jquery.ui.all似乎被忽略。說明:IE限制樣式表的數量並將其導入樣式表(請參見http://support.microsoft.com/kb/262161)。

0

您的示例代碼似乎與您的說明不符。例如,我沒有看到你將對話定義爲模態。無論如何,在您給出的示例中,您已將div的顯示設置爲隱藏在style屬性中。你不應該這樣做。讓jQuery UI爲您處理顯示格式。

你有這樣的:

 <div id="waiting1" style="display:none;"> 
      <center> 
       <img src="black_loading.gif" /> 
      </center> 
     </div> 

嘗試將其更改爲這樣:

 <div id="waiting1"> 
      <center> 
       <img src="black_loading.gif" /> 
      </center> 
     </div>