2010-07-27 47 views
1

使用Dojo版本1.3.2。以下代碼在FF和Chrome中運行良好,但在IE7/8中偶爾工作。 我在抓一個已經顯示的對話框,只是想改變它的內容。 oDialogContents總是完全一樣,工作與否。 最終發生的事情是對話框消失了,但襯墊仍然留着,所以用戶不得不再次刷新以使頁面繼續工作。dijit.Dialog不會在IE7和IE8中重新顯示

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

你是說你在執行上面的代碼並且用戶試圖關閉對話框之後,底層被留下了嗎?你有一個頁面,我們可以看到這發生? – 2010-08-01 15:18:35

+0

我試圖更新對話框的內容而不關閉它。然而,對話將會消失,覆蓋仍然存在。我結束了簡單地做一個.hide(),改變內容,然後一個.show()。 – ron 2010-08-02 21:44:34

回答

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用戶再次示出:我通過改變內容之後加入此固定它。