ext常用方法
});
将循环弹出:
index:0 value:1 array.length:4
index:1 value:3 array.length:4
index:2 value:5 array.length:4
index:3 value:7 array.length:4
Ext.each([1,3,5,7],function(v,i,a){
alert("index: "+i+" value: "+v+" array.length:"+a.length);
return v!=5; //到第三项后遍历退出
});
将循环弹出:
index:0 value:1 array.length:4
index:1 value:3 array.length:4
index:2 value:5 array.length:4
11、Ext.combine(arg1,arg2..argn) : Array //该方法在Ext2不推荐再使用
用于实现对数组的合并,如果是字符串则作为只有一项的数组合并。
如
var a1=[1,3,5],b1=["a","b","c"];var c1="xxyznbde";
Ext.combine(a1,b1,c1) 返回[1,3,5,a,b,c,xxyznbde]
12、Ext. escapeRe( String str ) : String
将属于正则里的特殊字符进行转义。
如
Ext.escapeRe("(ab)$\sa342{}[dd]")将返回\(ab\)\$sa342\{\}\[dd\]。
13、Ext.callback(cb, scope, args, delay) :void //该方法为Ext的内部方法
调用一个函数或延迟调用一个函数。
Cb:调用的函数。
scope:cb中this指针。
args:传如cb的参数,以数组形式表示。
delay:延迟多少毫秒执行cb。
如
Ext.callback(function(x,y){alert(x+y)},this,[3,5],1000);将于1秒钟后弹出8,即3+5的结果。
14、Ext.getDom( Mixed el ) : HTMLElement
根据传入的id/dom节点/Ext的Elemenet对象,返回其dom对象。
如alert(Ext.getDom("a").innerHTML);或
alert(Ext.getDom(document.getElementById("a")).innerHTML);
将返回id为a的元素的innerHTML内容。
15、Ext.getDoc()/Ext.getBody() : Ext.Element
分别返回页面的document对象和body对象,返回值为Ext的Element对象,而非Dom对象。
16、Ext.getCmp( String id ) : Ext.Component
根据传入的html元素id返回该元素的组件类型,返回值为Ext的Component对象。
必须保证该id对象的元素是Ext的一个内部组件(通过Ext创建的组件),否则什么都不返回。
17、Ext.num( Mixed value, Number defaultValue ) : Number
验证value是否是一个数字,如果是则直接返回否则返回defaultValue。
如
alert(Ext.num(5,7))返回5,alert(Ext.num("5",7)) 返回7
18、Ext.destroy( Mixed arg1, Mixed (optional), Mixed (optional) ) : void
销毁创建的Element或组件(Component),即销毁其所有的事件监听,dom节点,并调用对象本身的destory方法(如果存在的话),传入的参数类型为Ext.Element或Ext. Component,可以一次性传入多个对象进行销毁。
如
Ext.destory(menu,el,Button);会销毁menu,el,Button三个对象。
19、Ext.removeNode(htmlElement el): void //Ext内部方法
删除指定的dom节点。传入参数为dom对象。
如
Ext.removeNode(document.getElementById("ab"));
20、Ext.type( Mixed object ) : String
返回传入的对象的类型。
包括如下类型:
string,number,boolean,function,object,array,regexp,element,nodelist,textnode,whitespace
如
Ext.type("ab")返回string
Ext.type(20)返回number
Ext.type([3,5,6])返回array
Ext.type(/reg/)返回regexp
Ext.type(document.body)返回element。
21、Ext.isEmpty( Mixed value, [Boolean allowBlank] ) : Boolean
检查一个值是否为null/undefined或是否是空,如果是则返回true。
如果传入allowBlank为true,则只检查是否为null或undefined。
如:
Ext.isEmpty("a")返回false,
Ext.isEmpty("")返回true,
Ext.isEmpty("",true)返回false,
Ext.isEmpty(null)返回true。
一、Ext
1.1 Ext.isEmpty(v, allowBlank) //是否为空[链接]
1.2 Ext.isArray(v) //是否为数组集合
1.3 Ext.isPrimitive(v) ? //是否是基本数据类型String/Number/Boolean
1.4 Ext.isFunction(v) ? //是否是函数
1.5 Ext.isNumber(v) ?? //是否是数字
1.6 Ext.isString(v) //是否是字符串
1.7 Ext.isBoolean(v) //是否是bool值
1.8 Ext.isIE/isIE6/isIE7/isIE8... //判断浏览器
1.9 Ext.isWindows/isLinux/isMac/isAir //判断平台(操作系统)
1.10 Ext.isDefined //对象是否已经定义
1.11 Ext.id(el,prefix) //返回唯一的id值,el位元素Id,prefix为前缀
1.12 Ext.urlEncode(o, pre) //将JSON数据转换URL参数串,如{a:1,b:2} => a=1&b=2
1.13 Ext.urlDecode(string, overwrite) //将url参数列表转换成json格式数据,overwrite如果为true,则后面的同名参数值覆盖前面的同名参数值(默认为false即不覆盖而以数组形式返回)
1.15 Ext.each(array, fn, scope) //遍历数组,例:Ext.each([1,2,3],function(value,index,a){ //index:索引号,0开始? value:当前值 a:数组引用 });
1.16 Ext.encode(o) //将对象转换成json字符串,详细说明和用法:这里
1.17 Ext.decode(o) //将json字符串转换成对象
[Ext-more.js]
1.18 Ext.combine() //数组合并
1.19 Ext.num(value,defaultValue) //如果是数字,直接返回本身,否则返回默认值,注意"5"这里也会返回默认值的
1.20 Ext.copyTo(dest, source, names) //拷贝source中names属性列表至dest中
1.21 Ext.unique(arr) //剔除数组中重复的元素,让数组每个元素保持唯一
1.22 Ext.clean(arr) ? //复制数组
1.23 Ext.flatten(arr) //将多维数组转换成一维数组
1.24 Ext.min(arr, comp) //查找数组中最小的元素
1.25 Ext.max(arr, comp) //查找数组中最大的元素
1.26 Ext.mean(arr) //计算数组元素平均值(总和除以个数)
1.27 Ext.partition(arr, truth) //根据arr元素的bool值拆分成新的二维数组并返回 例1:Ext.partition([true, false, true, true, false]); // [[true, true, true], [false, false]] 例2:Ext.partition(arr,function(val){ return val == "class1" });
1.28 Ext.invoke(arr, methodName,/*args...*/) //执行arr数组中对象的methodName方法,args为方法的参数,返回执行结果数组
1.29 Ext.pluck(arr, prop) //返回数组中属性名(property name)等于prop的值的新数组 Ext.pluck(arr, "className"); => [arr1.className,arr2.className]
1.30 Ext.zip({Arrays|NodeLists},{Function}) //压缩多个数组为一个数组, Ext.zip([1,2,3],[4,5,6]); // [[1,4],[2,5],[3,6]],支持Function自定义合并
1.31 Ext.type(object) //返回对象的类型:string,number,boolean,function,object,array,regexp,element,nodelist,textnode,whitespace
二、Ext.util.Format
2.1 Ext.util.Format.capitalize(value); //首字母大写
2.2 Ext.util.Format.ellipsis(value, len, word); //从字符串开始处截取len长度显示,超过部分用...表示;word为布尔值,为true时在前面截取的基础上再从' '、'.'、'!'、'?'关键字处截取前面(len),ellipsis("abcde.fghijkl",10,true)返回abcde
2.3 Ext.util.Format.htmlEncode(value); //HTML编码,将& <? >? “替换为&<>"
2.4 Ext.util.Format.htmlDecode(value); //HTML解码,与上面相反
2.5 Ext.util.Format.trim(value); //截取字符串左右的空格
2.6 Ext.util.Format.substr(value, start, length); //从value指定的start位置开始截取length长度的子串返回
2.7 Ext.util.Format.lowercase(value); ????? //转换大写
2.8 Ext.util.Format.uppercase(value); ???? //转换小写
2.9 Ext.util.Format.stripTags(v); ????? //去除HTML标签:/<\/?[^>]+>/gi
2.10 Ext.util.Format.usMoney(v); //转换到'$'符号的货币形式
2.11 Ext.util.Format.date(v, format); //格式化日期输出,format默认格式"m/d/Y"
2.12 Ext.util.Format.round(value, precision); //四舍五入,precision指精确位数
2.13 Ext.util.Format.number(v, format); //格式化数字显示
2.14 Ext.util.Format.nl2br(value); //将字符串中的'\n'替换成'<br />'
2.15 Ext.util.Format.fileSize(value);? //将字节数转成更大的单位KB和MB显示,fileSize(1024) = 1KB
2.16 Ext.util.Format.defaultValue(value, defaultValue); //如果value未定义或为空字符串则返回defaultValue
2.17 Ext.util.Format.stripScripts(v); //去除脚本标签
2.18 Ext.util.Format.undef(value); //如果value未定义,返回空字符串,反之返回value本身
三、扩展JS原有对象
3.1 String
3.1.1 .format(format)
3.1.2 .toggle(value, other) //交换值,如果当前值等于value,则被赋值other
3.2 Array
3.2.1 .indexOf(o) //返回元素o在数组ArrayObject中的位置,找不到返回-1
3.2.2 .remove(o) //从数组ArrayObject删除元素o
3.3 Function
3.3.1 .createInterceptor(fcn, scope) //创建阻断方法,如果fcn返回false,原方法将不会被执行
3.3.2 .createCallback(/*args...*/) //创建回调,以无参的函数作为参数,但是现有的方法已经具有了参数,如果直接写上可以用这个来创建一个回调,类似于function(){ //实际的带参调用 }
3.3.3 .createDelegate(obj, args, appendArgs) //创建委托,与上面相比,自己可以访问obj中的属性和方法
3.3.4 .defer(millis, obj, args, appendArgs) //定时执行,隔millis毫秒后执行原方法
3.3.5 .createSequence(fcn, scope) //Ext-more.js中,创建组合方法,执行原方法+fcn
四、 其他
4.1 表单
4.1.1 一次取得表单所有的表单元素key/value集合
form1.form.getValues()? //form1为Ext.FormPanel,例如:
??????????????????????? //注意
??????????????????????? var conn = new Ext.data.Connection();
??????????????????????? conn.request({
??????????????????????????? url: 'submit.aspx?method=Submit4',
??????????????????????????? //此处与params对应,如果为POST,则服务器端从Request.Form中可以取得到数据,反之从QueryString中取数据
??????????????????????????? method: 'POST',//GET
??????????????????????????? params:form1.form.getValues(),
??????????????????????????? success: function(response, opts) {
???????????????????????????????? MsgInfo(response.responseText);
??????????????????????????? }
??????????????????????? });
form1.form.setValues(values)???? //form1.form.setValues({id:1,name:'aabbcc'}) 赋值
4.1.2 表单元素取值赋值一次取得
4.1.2.1 form1.form.findField('TextBox').getValue()
4.1.2.2 form1.form.getValues().TextBox
4.1.2.3 form1.form.getFieldValues().TextBox
4.2 切换皮肤
Ext.util.CSS.swapStyleSheet("theme", "resources/css/ext/xtheme-orange.css"); //注意路径
from: http://kaidi0314.iteye.com/blog/1207731