2013-08-05 214 views
2

我有一個彈出窗口沒有關閉按鈕,所以我必須刷新頁面才能關閉彈出窗口。在這種情況下,我想在彈出的窗口中添加一個按鈕來關閉。EXT JS關閉彈出窗口

這裏是js代碼:

function oseGetWIn(id, title, width, height) 
{ 
    var win = Ext.create('Ext.window.Window', { 
     id: id, 
     name: id, 
     title: title, 
     width: width, 
     height: height, 
     closeAction:'destroy', 
     autoScroll:'true', 

    }); 
    return win; 
} 

我試圖添加以下,但沒有效果。

bbar: [ 
     { 
      text: 'Close', 
      handler: function() { this.up('.window').close(); } 
     } 
     ], 
+0

嘗試刪除'.'從'this.up( '窗口')的close();' – MMT

+0

@MMT嗨,不幸的是,這是行不通的。我錯過了什麼? –

+0

哪裏有'bbar'被添加?,在窗口上使用鼻涕..? – MMT

回答

1

的選擇不正確,它應該只是window,這將找到一個匹配的xtype父。

+0

嗨,似乎它不工作時,我刪除了窗口之前的點。 –

0

試試這個

var win = Ext.create('Ext.window.Window', { 
    id: id, 
    name: id, 
    title: title, 
    width: width, 
    height: height, 
    closeAction:'destroy', 
    autoScroll:'true', 
    closable:true // add this attribute and you will get a close button on right top 
}); 

編輯: 現在試試這個:

var win = Ext.create('Ext.window.Window', { 
      id: id, 
      name: id, 
      title: title, 
      width: width, 
      height: height, 
      closeAction:'destroy', 
      autoScroll:'true', 
      closable:true, 
      bbar:[{ 
       text:'Close', 
       handler:function(){ 
        this.up('window').destroy(); 
       } 
      }] 
     }) 
+0

嗨,它仍然不起作用 –

+0

嘗試上面的代碼 – Jacobian

+0

嗨夥計,嘗試過,仍然無法正常工作 –

1

這應該工作:

var win = Ext.create('Ext.window.Window', { 
      title: 'test', 
      width: 400, 
      height: 200, 
      bbar:[{ 
       text:'Close', 
       handler: function(){ 
        win.destroy(); 
       } 
      }] 
     }) 

工作示例:http://jsfiddle.net/RdVyz/

-1

次嘗試(); up()。close();方法如下: 或 this.up()。close();

0

在我看來這仍然沒有回答最簡單的方法

var wind = Ext.WindowManager.getActive(); 

if(wind){ 
    wind.close(); 
} 
0

嗯...? 解決方案很簡單

var win = Ext.create('Ext.window.Window', { 
     id: id, 
     name: id, 
     title: title, 
     width: width, 
     height: height, 
     closeAction:'destroy', 
     autoScroll:'true', 
     closable:true, 
     bbar:[{ 
      text:'Close', 
      handler:function(bt){ 
       bt.up('window').close(); 
      } 
     }] 
    })