2012-05-29 78 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(); 
相关问题