dijit.Dialog不能在IE7和IE8中重新显示

时间:2010-07-27 22:34:22

标签: dojo

使用Dojo版本1.3.2。以下代码在FF和Chrome中运行良好,但在IE7 / 8中偶尔可以使用。 我正在研究一个已经显示的对话框,只是想改变它的内容。 oDialogContents总是完全相同,无论工作与否。 最终发生的事情是Dialog消失但底层仍然存在,因此用户被迫进行刷新以使页面再次工作。

function showDialog(oDialogContents) {
 var dialogBox = dijit.byId(DIALOG_PAGE);
 dialogBox.attr("style","width: 400px;");
 dialogBox.attr("content", oDialogContents);
 dialogBox.show();
}

1 个答案:

答案 0 :(得分:0)

我有同样的问题。我通过在更改内容后添加此内容来修复它:

// new content not showing in IE7/8 unless we hide the dialog first 
if( dojo.isIE !== undefined )
{
    this._dialog.hide();
    this._dialog.show();
}

this._dialog.layout(); // re-centre in case width changed

基本上,dijit需要隐藏并再次显示给IE用户。