2012-05-29 106 views
0

我有一個div,我正在創建一個對話框,然後在準備好的文檔上打開它。
對話框顯示,但不響應點擊x關閉或單擊確定按鈕。jquery-ui對話框不會在Facebook上的Internet Explorer中關閉

我使用jQuery UI的,和自定義主題通過創建的ThemeRoller:

的代碼在IE,如果我沒有運行它作爲一個Facebook應用程序,它也可以作爲一個Facebook應用程序,如果我使用不同的瀏覽器(Safari,Chrome,Firefox)。

IE java控制檯在jquery-ui代碼中顯示錯誤:
SCRIPT 16389:未指定的錯誤。
的jquery-UI-1.8.20.custom.min.js,線73字符5487

下面的代碼:

<head> 
     <link type="text/css" href="/jquery/css/start/jquery-ui-1.8.20.custom.css" rel="stylesheet" /> 
     <script type="text/javascript" src="/jquery/js/jquery-1.7.2.min.js"></script> 
     <script type="text/javascript" src="/jquery/js/jquery-ui-1.8.20.custom.min.js"></script> 

     <script type="text/javascript"> 
     function showPopup() { 
     $('#dialog').dialog('open'); 
     } 

     $(function() { 
     $('#dialog').dialog({ autoOpen: false, show: "blind", hide: "blind", buttons: { "OK": function() { $(this).dialog("close"); } } }); 
     }) ; 
     </script> 

     </head> 
     <body> 
     <script type="text/javascript"> 
     $(function(){showPopup();}); 
     </script> 

     <div id='dialog' style="display: none;" title='title of the dialog'> 
     Dialog message 
     </div> 

     </body> 
+0

刺在黑暗中 - 你也許留下一些'的console.log()在你的代碼'語句的地方? IE不喜歡那麼多 - 特別是如果調試控制檯未打開。另外什麼版本的IE瀏覽器將是非常有用的...它不是IE 6 ...我知道那麼多:P – Lix

+0

我目前能夠用IE9重現這一點。我也看到它與IE8也,但沒有該系統設置重現它。另外,我可以在沒有其他代碼的孤立頁面上重現它。 –

回答

2

的jquery-UI-1.8.20.custom.min.js具有問題發生在IE9 IFRAME裏面,它沒有正確設置.focus,最有可能嘗試將焦點設置到頁面的body元素,而不是IFRAME本身的body標籤。我通過爲IFRAME body標籤設置了一個id來解決這個問題。

body id="bodyTag" 

然後你document.ready函數中,將焦點設置到IFRAME身體標記:

$("#bodyTag").focus(); 
相關問題