0

我正在开发一个 ASP.NET 应用程序,其中我使用了几个 jQuery UI 模式对话框。它们在 Chrome 和 Firefox 中都可以正常工作,但是当我在 Internet Explorer 9 中单击“X”时,其中一个不会关闭。单击“X”只会使这个特定的对话框“非模态”,换句话说,灰色 - out 背景消失了,我可以与下面的表单进行交互,但对话框本身并没有关闭。

这是创建对话框的代码,以及打开它的函数:

<script type="text/javascript">
    $(document).ready(function () {
      //Setup dialog
      $("#reinstatementForms").dialog({
        autoOpen: false,
        width: 500,
        height: "auto",
        modal: true,
        resizable: false,
        draggable: false,
        open: function (event, ui) { $(this).css("display", "block"); },
        close: function (event, ui) { $('body').find('#reinstatementForms').remove(); }
      });
    });

    function ShowReinstatementForms() {
      $(#reinstatementForms").dialog("open");
      return false;
    }
</script>

这是 HTML/ASPX 标记(缩写):

<div id="reinstatementForms" title="Reinstatement Forms Required" class="modalDialog" style="display: none;">
  <h2 style="padding: 10px 0 10px 20px;">Reinstatement Forms Are Required</h2>
  <p>
    Lorem ipsum dolor sit amet....
  </p>
</div>

我根据条件为真从代码后面(C#)触发这个特定的对话框:

if (reinstatementForms)
{
  string dialogScript = "ShowReinstatementForms()";
  ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "ShowReinstatementForms", dialogScript, true);
}

任何线索如何使它在 IE 中正常工作?同样,我的其他模式(以不同的方式被调用/触发)在 IE 中工作正常(IE 9 - 我目前无法访问任何其他版本)。

4

1 回答 1

1

我认为它不适用于 FF 或 chrome。 $(#reinstatementForms").dialog("open");缺少“。它应该是$("#reinstatementForms").dialog("open");

祝你好运!

于 2013-08-08T03:16:22.650 回答