javascript - Extjs,最大化窗口时如何忽略maxHeight?

标签 javascript extjs extjs4.2

Extjs 4.2,窗口最大化时如何忽略 maxHeight 配置? 我想制作全屏窗口。

这是我在 jsfiddle 中的演示代码。

http://jsfiddle.net/zbyHY/

Ext.onReady(function() {
    Ext.create('Ext.window.Window',{
        title: 'Hello',
        maximizable: true,
        width: 400,
        height: 300,
        maxHeight: 350
    }).show();
});

最佳答案

准备好进行重大黑客攻击了吗?

function realMaximize(){
    if(this.maxInternal){
        return;
    }
    if(this.maximized){
        this.oldMaxHeight = this.maxHeight;
        this.maxHeight = undefined;
        this.maxInternal = true;
        this.restore();
        this.maximize();
        this.maxInternal = false;
    }else{
        this.maxHeight = this.oldMaxHeight;
    }
}

Ext.onReady(function() {
    var w = Ext.create('Ext.window.Window',{
        title: 'Hello',
        maximizable: true,
        width: 400,
        height: 300,
        maxHeight: 350
    });
    w.addListener('maximize',realMaximize);
    w.show();
});
呃!可怕。它有什么作用?当它检测到最大化时,它会存储当前的最大高度并将其删除。然后它会切换最大化,以便 UI 更新以尊重这个新的最大值(也许有更好的方法?)。最后,它必须设置并检查一个标志,否则会陷入无限循环(maximize 再次调用该函数)。

回到窗口化并不难;记住的大小必须正确,所以我们不需要递归调用该函数。

关于javascript - Extjs,最大化窗口时如何忽略maxHeight?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19011963/

相关文章:

javascript - jQuery change() 事件 - 不适用于 bind()、live()、keyup+keydown+keypress,什么都没有

extjs - 如何从商店回调中获取响应码?

javascript - 有没有办法将树列放置在组合框内?

javascript - jQuery var 在传入 .click() 时变得未定义

javascript - 有条件切换至手机版网站

javascript - 测试 Extjs 网站时出现 Selenium 错误

javascript - 如何在Ext js 4.1中过滤数组json

sorting - ExtJs 3 TreePanel 排序不起作用

javascript - 我如何在 ExtJS 中仅使用 formpanel 打开弹出窗口

javascript - Y-combinator 如何以编程方式计算不动点?