日期:2014-05-16 浏览次数:20444 次
Ext.apply(Ext, function(){ var E = Ext, idSeed = 0; return { emptyFn : function(){},//空函数 value : function(v, defaultValue, allowBlank){ return Ext.isEmpty(v, allowBlank) ? defaultValue : v; }, escapeRe : function(s) {//对特殊字符转义 return s.replace(/([.*+?^${}()|[\]\/\\])/g, "\\$1"); }, sequence : function(o, name, fn, scope){//创建队列函数 o[name] = o[name].createSequence(fn, scope); }, addBehaviors : function(o){//添加时间行为 if(!Ext.isReady){ Ext.onReady(function(){ Ext.addBehaviors(o); }); } else { var cache = {}, // simple cache for applying multiple behaviors to same selector does query multiple times parts, b, s; for (b in o) { if ((parts = b.split('@'))[1]) { // for Object prototype breakers s = parts[0]; if(!cache[s]){ cache[s] = Ext.select(s); } cache[s].on(parts[1], o[b]); } } cache = null; } }, combine : function(){//数据组合,返回组合后的数据 //把所有参数拼到一个数组中返回 Ext.combine(['a','b'],'c') 返回['a','b','c'] var as = arguments, l = as.length, r = []; for(var i = 0; i < l; i++){ var a = as[i]; if(Ext.isArray(a)){ r = r.concat(a); }else if(a.length !== undefined && !a.substr){ r = r.concat(Array.prototype.slice.call(a, 0)); }else{ r.push(a); } } return r; }, copyTo : function(dest, source, names){//把某对象的属性复制给目标对象names为属性名,可以是数组,字符串 * @param {Object} The destination object. * @param {Object} The source object. * @param {Array/String} Either an Array of property names, or a comma-delimited list * of property names to copy. * @return {Object} The modified object. if(typeof names == 'string'){ names = names.split(/[,;\s]/); } Ext.each(names, function(name){ if(source.hasOwnProperty(name)){ dest[name] = source[name]; } }, this); return dest; }, destroy : function(){//清除对象属性,DOM节点 Ext.each(arguments, function(arg){ if(arg){ if(Ext.isArray(arg)){ this.destroy.apply(this, arg); }else if(Ext.isFunction(arg.destroy)){ arg.destroy(); }else if(arg.dom){ arg.remove(); } } }, this); }, destroyMembers : function(o, arg1, arg2, etc){ for(var i = 1, a = arguments, len = a.length; i < len; i++) { Ext.destroy(o[a[i]]); delete o[a[i]]; } }, clean : function(arr){ var ret = []; Ext.each(arr, function(v){ if(!!v){ ret.push(v); } }); return ret; }, unique : function(arr){ var ret = [], collect = {}; Ext.each(arr, function(v) { if(!collect[v]){ ret.push(v); } collect[v] = true; }); return ret; }, getCmp : function(id){//获取组建对象 return Ext.ComponentMgr.get(id); }, type : function(o){ if(o === undefined || o === null){ return false;