使用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();
}
答案 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用户。