我正在开发一个 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 - 我目前无法访问任何其他版本)。