extjs2.1

问题描述:

设置window 属性modal: true在firefox中是没有问题的。

但是在chrome中遇到个奇怪的问题,window下嵌套一个panel的情况下没有问题;

在window下嵌套一个panel,在panel中又嵌套两个panel,这种情况下,window显示的时候不仅把后面的给mask掉了,就连window窗体本身也被mask掉了。


解决过程:

代码上没有任何的问题,跟踪firebug查找渲染过程:如果modal == true则在当前body前加一层mask,然后在生成当前窗体,然后this.el.setZIndex(++A);这样窗体的z-index值大于A,所以不被遮罩。

其中A是WindowManager中定义的zseed : 9000。


然后查看chrome中各项参数,让人摸不着头脑:

1. 正常显示的情况下,z-index: 20000;此属性被划上了删除线。

2. 不能正常显示的情况下z-index: 20000;正常起作用。

可能是浏览器兼容性的问题吧!


解决办法:

把z-index值改小一些

1. 在程序中加上 Ext.WindowMgr.zseed = 8899;不起作用,舍弃。

2. 把ext-all.css中

.ext-el-mask

{

   z-index: 20000;

}

直接改为8899,居然成功了!我晕死。