2

我有一个没有关闭按钮的弹出窗口,所以我必须刷新页面才能关闭弹出窗口。在这种情况下,我想在弹出窗口上添加一个按钮来关闭。

这是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(); }
         }
      ],
4

6 回答 6

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/

于 2013-08-05T08:00:19.057 回答
1

选择器不正确,它应该只是window,它将找到具有匹配 xtype 的父级。

于 2013-08-05T05:42:55.393 回答
1

嗯……还没有回答?解决方案很简单

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();
            }
        }]
    })
于 2016-05-16T23:23:56.627 回答
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();
                }
            }]
        })
于 2013-08-05T05:43:45.647 回答
0

这在我看来是最简单的方法

var wind = Ext.WindowManager.getActive();

if(wind){
     wind.close();
}
于 2016-05-13T15:03:20.977 回答
-1

在关闭处理程序中尝试这个

this.up().up().close(); 或 this.up().close();

于 2013-08-06T04:37:33.250 回答