当ext.window中嵌入一个grid表格,当数据比较多的时候,拖动window会出现内存泄露的问题。因为拖动的时候会有一些阴影效果,这会消耗一定的内存。可使用以下方法去掉这种效果,避免内存消耗:
Ext.override(Ext.Window.DD,{
startDrag : function(){
var w = this.win;
//改前:this.proxy = w.ghost(w.initialConfig.cls);
//改后:
this.proxy = w.getEl();
if(w.constrain !== false){
var so = w.el.shadowOffset;
this.constrainTo(w.container, {right: so, left: so, bottom: so});
}else if(w.constrainHeader !== false){
var s = this.proxy.getSize();
this.constrainTo(w.container, {right: -(s.width-this.headerOffsets[0]), bottom: -(s.height-this.headerOffsets[1])});
}
},
endDrag : function(e){
//删除:this.win.unghost();
this.win.saveState();
}
});
在Ext.onReady()前加入此方法即可去掉windows拖动阴影效果,避免内存出现内存泄露问题。
1 楼
tianhandigeng
2012-03-26
这是exjts3去除拖动效果的处理方法,不知道有没有extjs4中去除拖动效果的方法?