0

我有一个 div,我正在制作一个对话框,然后在准备好文档时打开它。
对话框显示,但没有响应单击 x 关闭或单击确定按钮。

我正在使用 jquery-ui,以及由 themeroller 创建的自定义主题:http: //jqueryui.com/themeroller/

如果我不将其作为 Facebook 应用程序运行,该代码可以在 IE 中运行,如果我使用不同的浏览器(Safari、Chrome、Firefox),它也可以作为 Facebook 应用程序运行。

IE java 控制台在 jquery-ui 代码中显示错误:
SCRIPT 16389: Unspecified error。
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>
4

1 回答 1

2

jquery-ui-1.8.20.custom.min.js 在 IE9 IFRAME 中有一个问题,它没有.focus正确设置,很可能试图将焦点设置到页面的 body 元素而不是 body 标记IFRAME 本身。我通过为 IFRAME 正文标签设置一个 id 来解决这个问题。

body id="bodyTag"

然后在您的document.ready函数中,将焦点设置为 IFRAME 正文标记:

$("#bodyTag").focus();
于 2012-08-24T17:49:50.960 回答