2011-04-04 54 views
0

我正在嘗試製作一個ExtJS模式窗口,但它看起來像只覆蓋了一個ID爲wrapper(如果存在)的元素。我使用liferay,我希望模態對話框消耗整個屏幕,所以我寧願不修改DOM來做到這一點。ExtJS模式窗口只覆蓋.portlet-body的內容

有沒有什麼辦法讓這個填滿整個屏幕,而不是隻有div.portlet-body

var dialog; 
function openDialog() { 
    if (!dialog) { 
     var dialogWidth = 800; 
     var dialogHeight = 400; 
     console.log(windowWidth + " " + windowHeight); 
     dialog = new Ext.Window({ 
      applyTo: 'popup', 
      closeAction:'hide', 
      plain: true, 
      buttons: [ 
       { 
        text: 'Done', 
        handler: function() { 
         dialog.hide(); 
        } 
       } 
      ], 
      items:new Ext.Panel({ 
       applyTo:'popup-panel' 
      }), 
      title: 'Some popup', 
      layout: 'fit', 
      resizable: false, 
      draggable: false, 
      width: dialogWidth, 
      height: dialogHeight, 
      modal: true 
     }); 
    } 
    dialog.show(this); 
} 

回答

0

applyTo: 'popup'

你根本不需要這個。 applyTo將模態對話框限制爲您在此處引用的對象的父對象。

-1

您在使用CSS的一些問題。由Ext JS創建的模式窗口不綁定到任何特定的CSS元素。所以,我確信頁面上存在的一個CSS會干擾Ext JS,並且模式窗口顯示不正確。

+0

實際的模態窗口是偏移量,並精確地覆蓋了這一個div。似乎沒有任何外部風格適用於模態疊加層,如通過螢火蟲進行檢查。 – 2011-04-05 12:35:44

+0

奇怪的是,它不是封裝的sticfing,但它只填充了一個包含div.portlet-body的div元素。 – 2011-04-05 12:52:07