EXTJS WIN8 IE10下遮罩层隐藏失败问题解决

    最近遇到一个奇怪的问题,项目使用EXTJS4.2,部分列表在  WIN8+IE10环境下,当列表出现横向滚动条时, 列表的遮罩层隐藏失败,列表会显示灰蒙蒙一遍,刷新也无效. 在WIN7环境下 IE9,IE10均无此问题.

 在两个环境中对比调试ext-debug-all代码,发现出现问题代码位置大概为:遮罩层的代码

,

经调试 改callParent也是调用hide方法...由于时间比较赶,用了临时解决方法,针对WIN8和IE10的环境作出特别调整,重写了Ext.loadMask类

//判断IE及系统版本. windows8+IE10环境下,Ext的loadMask出现无法隐藏问题. 暂时使用本方法进行解决.
var hideMask = false;
try{
	var dd = "";
	var appV = navigator.appVersion;
	var isWin8 = (appV.indexOf('Windows NT 6.2')!=-1);
	/*@cc_on
		dd = (@_jscript_version);
		if(dd==10&&isWin8){
			hideMask = true;
		}
	 @*/
}catch(e){
	alert(e)
}

然后重写 LoadMask的mabeShow方法

Ext.override(Ext.LoadMask, {
			maybeShow: function() {
				        var me = this,
				            owner = me.getOwner();
				        if (!owner.isVisible(true)) {
				            me.showNext = true;
				        }
				        else if (me.loading && owner.rendered) {
				            me.show();
				            //如果windows8++及IE10++下取消EXT的grid遮罩初始显示.
				            if(hideMask){
				            	me.hide();
				            }
				        }
		    }
	});


主要添加的是这段代码:  	                  if(hideMask){
				            	me.hide();
				            }
IE10并且WIN8下, 遮罩层出现后直接隐藏, 成功隐藏掉.对其它环境没影响

再手动添加grid的遮罩

qsGridMask = new Ext.LoadMask(Ext.getCmp('creditQsGrid').getView(), {
msg : "加载中...",
msgCls : 'z-index:10000;'
});

再给store添加监听方法,开启和隐藏遮罩. 好了,大功告成.

record_store = Ext.create(
                'Ext.data.JsonStore',  
                {
		        fields: dataFields,
		        proxy: {   type: 'ajax',  
	                         url : connObjUrl,
	                         async:false,
	                         getMethod: function(){ return 'POST'; },
	                         reader: {
	                              type: 'json',  	
	                              root: 'rows',  
	                              totalProperty: 'total'  
	                          },
	                          extraParams:{
					    dataProcess:dataProcess
					 }
	             },
	             listeners:{
	             	'beforeload':function(){
	             		qsGridMask.show();
	             	},
	             	'datachanged':function(){
	             		qsGridMask.hide();
	             	}
	             }
		    }
        );


问题现象图片如下, WIN8+IE10 灰色遮罩


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

it夜猫who

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值