`
kidiaoer
  • 浏览: 804584 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

EXT核心API详解

阅读更多
EXT核心API详解
1、Ext类  …………………………………  2           2、Array类  ……………………………   4
3、Number类  ……………………………  4           4、String类  ……………………………   4
5、Date类   ………………………………  5           6、Function类  …………………………   6
7、Ext.Element类  ………………………… 7           8、Ext.DomQuery类  …………………   13
9、Ext.DomHelper类  …………………… 14          10、Ext.Template类  ……………………   14
11、Ext.EventManager类 ………………  15          12、Ext.EventObject类  …………………  15
13、Ext.CompositeElement类 …………  16          14、Ext.CompositeElementLite类  ………  16
15、Ext.Fx类 ……………………………  16          16、Ext.KeyNav类  ………………………  19
17、Ext.KeyMap类  ……………………  19          18、Ext.util.JSON类  ……………………… 20
19、Ext.util.Format类  …………………  20          20、Ext.util.DelayedTask类  ……………… 20
21、Ext.util.TaskRunner类  ……………  21          22、Ext.util.TextMetrics类   ……………  21
23、Ext.XTemplate类    ………………… 21          24、Ext.data.Connection类  ……………… 22
25、Ext.Ajax类   ………………………… 22          26、Ext.data.Record类   …………………  23
27、Ext.data.DataProxy类  ……………  24          28、Ext.data.HttpProxy类   ……………   24
29、Ext.data.MemoryProxy类   ………  25          30、Ext.data.ScriptTagProxy类 …………  25
31、Ext.data.DataReader类   ……………26          32、Ext.data.ArrayReader类  ……………  26
33、Ext.data.JsonReader类   …………… 26          34、Ext.data.XmlReader类   ……………  27
35、Ext.data.Store类 ……………………  28          36、Ext.data.GroupingStore类  …………  32
37、Ext.data.SimpleStore类   …………  34          38、Ext.data.Tree类   ……………………  34
39、Ext.data.Node类   …………………  34          40、Ext.Action类   ………………………  35
41、Ext.Button类   ……………………  36          42、Ext.SplitButton类   ………………   38
43、Ext.CycleButton类   ……………… 39          44、Ext.form.BasicForm类   ……………  40
45、Ext.form.Field类  …………………… 41          46、Ext.form.Checkbox类   ……………   42
47、Ext.form.Radio类  …………………  43          48、Ext.form.HtmlEditor类   ……………  43
49、Ext.form.TextField类   ……………  44          50、Ext.form.NumberField类   …………  44
51、Ext.form.TextArea类  ……………  45          52、Ext.form.TriggerField类   ………   45
53、Ext.form.DateField类   …………  45          54、Ext.form.ComboBox类   ……………… 46
55、Ext.form.TimeField类   …………  47          56、Ext.menu.Menu类   …………………   50
57、Ext.menu.BaseItem类  ……………  50          58、Ext.menu.Adapter类   ………………  51
59、Ext.menu.Item类   ………………… 51          60、Ext.menu.CheckItem类   ……………  51
61、Ext.menu.Separator类   …………  52          62、Ext.menu.TextItem类   ……………   52
63、Ext.Toolbar类   …………………… 55          64、Ext.Toolbar.Item类   ………………  56
65、Ext.Toolbar.Separator类   ……… 56          66、Ext.Toolbar.Spacer类   ……………   56
67、Ext.Toolbar.TextItem类   ………  56          68、Ext.Toolbar.Fill类   ………………  56
69、Ext.grid.ColumnModel类   ………  58          70、Ext.grid.PropertyColumnModel类 …  59
71、Ext.grid.GridView类   …………… 59          72、Ext.grid.GroupingView类    ………… 60
73、Ext.grid.EditorGridPanel类 ………  62          74、Ext.grid.PropertyGrid类 ……………   65








1、Ext类
addBehaviors(Object obj) : void
对选择的元素 应用事件侦听器,事件名以@附加在结尾,例如
addBehaviors({
   // id=foo下所有的a标签加入click事件
   '#foo a@click' : function(e, t){
       // do something   },
   // 用,分隔多个选择器
   '#foo a, #bar span.some-class@mouseover' : function(){
       // do something
   }
});

apply( Object obj, Object config, Object defaults ) : Object从config拷贝所有的属性到obj,如果有defaults参数,也将拷贝其属性到objapplyIf( Object obj, Object config ) : Object从config拷贝所有属性至obj(如果obj未定义相应属性)decode(Object obj) : String编码一个对象/数组或其它值为一个json格式字符串(支持对象,数组,日期,字符串)destroy( Mixed arg1, Mixed (optional), Mixed (optional) ) : void尝试去移除每个传入的对象,包括DOM,事件侦听者,并呼叫他们的destroy方法(如果存在)each( Array/NodeList/Mixed array, Function fn, Object scope ) : void利用array中的每个元素迭代调用fn.直到fn返回假,调用格式fn.call(scope || array[i], array[i], i, array);encode(String json) : Object将一个json格式字符串反序列化为对象escapeRe( String str ) : String为字符串正则编码将.在*+?^${}()|[]/\字符前加\extend( Object subclass, Object superclass, [Object overrides] ) : void从superclass类继承subclass,overrides参数是要重载的方法列表,详见overridefly( String/HTMLElement el, [String named] ) : Element得到全局共享的一个浮动元素el,如果有多个浮动元素可以使用命名以避免潜在的冲突get( Mixed el ) : Element得到一个Element对象,参数可以是id或DOM节点或已存在的Element对象getBody() : Element 得到当前文档的body对象getCmp( String id ) : Component通过id得到一个Component对象getDoc() : Element得到当前文档getDom( Mixed el ) : HTMLElement通过id或节点或Element对象返回一个DOM节点id( [Mixed el], [String prefix] ) : String为对象el生成一个惟一id,如果对象本身已有id,将不会被改变(可以使用前导符prefix)isEmpty( Mixed value, [Boolean allowBlank] ) : Boolean判断值是否为空,null, undefined或空字符串将返回真,如果allowBlank定义为真,空字符串将不被视为空namespace( String namespace1, String namespace2, String etc ) : void创建一个命名空间,例Ext.namespace('Company', 'Company.data');Company.Widget = function() { ... }Company.data.CustomStore = function(config) { ... }num( Mixed value, Number defaultValue ) : Number将value转为数值,如果value不是合法的数值类型,将返回defaultValue,其实defaultValue并不一定要求是数值类型,只要你愿意onReady( Function fn, Object scope, boolean override ) : void当文档准备好了之后引发fn,发生在page的onload事件之前,并且图片此时都还没有载入,scope定义执有者,override定义scope是否有默认的选择override( Object origclass, Object overrides ) : void利用overrides重写origclass的方法,例Ext.override(MyClass, {    newMethod1: function(){        // etc.    },    newMethod2: function(foo){        // etc.    }});query( String path, [Node root] ) : Array通过path,在root中选择节点数组,path可以是以下四种选择器之一[元素选择器] 例:* 任意节点E 一个E标签元素E F 祖先节点为E的F节点E > F 或 E/F 父节点为E的F节点E + F 前一个兄弟节点为E的F节点E ~ F 前面的兄弟节点中有E的F节点[属性选择器] 例:E[foo] 有foo属性的E节点E[foo=bar] 有foo属性值为bar的E节点E[foo^=bar] foo属性以bar开始的E节点E[foo$=bar] foo属性以bar结尾的E节点E[foo*=bar] foo属性中有bar字符串的E节点E[foo%=2] foo属性能被2整除的E节点E[foo!=bar] foo属性值不为bar的E节点[伪类选择器] 例:E:first-child E节点是父节点中第一个子节点E:last-child E节点是父节点中最后一个子节点E:nth-child(n) E是父节点中每n个节点E:nth-child(odd) E是父节点中的奇数节点E:nth-child(even) E是父节点中的偶数节点E:only-child E是父节点中惟一的子节点E:checked checked属性为真的节点E:first 子孙节点中的第一个E节点E:last 子孙节点中的最后一个E节点E:nth(n) 子孙节点中的第n个E节点E:odd E:nth-child(odd)的简写E:even E:nth-child(even)的简写E:contains(foo) innerHTML属性中含有foo的E节点E:nodeValue(foo) E节点中包含一个值为foo的文本节点E:not(S) 不匹配简单选择器S的E节点E:has(S) 有能匹配简单选择器S的子节点的E节点E:next(S) 下一个兄弟节匹配简单选择器S的E节点E:prev(S) 前一个兄弟节匹配简单选择器S的E节点type( Mixed object ) : String判断对象类型,如果不是下列值之一将返回false[样式选择器] 例:E{display=none} display属性值为none的E节点E{display^=none} display属性值以none开始的E节点E{display$=none} display属性值以none结束的E节点E{display*=none} display属性值含有none子字串的E节点E{display%=2} display属性值能被2整除的E节点E{display!=none} display属性值不等于none的E节点select( String/Array selector, [Boolean unique], [HTMLElement/String root] ) :CompositeElementLite/CompositeElement在root内通过样式选择器或元素数组selector选择元素或元素列表,unique指示是否只选择惟一值urlDecode( String string, [Boolean overwrite] ) : Object将url格式字符串string解码为json对象,overwrite参数指示是否不重写已存在的对象,例Ext.urlDecode("foo=1&bar=2"); //返回 {foo: 1, bar: 2} Ext.urlDecode("foo=1&bar=2&bar=3&bar=4"); //返回 {foo: 1, bar: 4}.Ext.urlDecode("foo=1&bar=2&bar=3&bar=4", true); //返回 {foo: 1, bar: [2, 3, 4]}.urlEncode( Object o ) : String将json对象编码为url格式字符串,参见urlDecode    type( Mixed object ) : String得到object类型,如果不为以下列举值之一则返回false

2、Array类
indexOf( Object o ) : Numberobject是否在数组中,找不到返回-1;找到返回位置
remove( Object o ) : Array从数组中删除指定的对象object,如果找不到object则数组无变化
3、Number类
constrain( Number min, Number max ) : Number检查数值是否介于min与max之间, 如果大于max 返回max,如果小于min返回min, 否则返回当前值
4、String类
escape( String string ) : String将string中的'和\替换为\' \\format( String string, String value1, String value2 ) : String格式化字符串,
例:var cls = 'my-class', text = 'Some text';var s = String.format('<div class="{0}">{1}</div>', cls, text);// 结果 <div class="my-class">Some text</div>leftPad( String string, Number size, [String char] ) : String以char将string补齐为size长度,char默认定义空格toggle( String value, String other ) : String交换值,如果当前值等于value,则被赋值other,反之等于value,例:sort = sort.toggle('ASC', 'DESC');trim() : String去除开头或结尾多余的空格
5、Date类
Date.parseDate( String input, String format ) : Date将字符串string依指定的格式format转换为时间,其中格式定义详见format方法例:dt = Date.parseDate("2006-01-15 3:20:01 PM", "Y-m-d h:i:s A" ); add( String interval, Number value ) : Date增加时间段,String interval在Data类中已定义Date.MILLI = "ms";Date.SECOND = "s";Date.MINUTE = "mi";Date.HOUR = "h";Date.DAY = "d";Date.MONTH = "mo";Date.YEAR = "y";例var dt2 = new Date('10/1/2006').add(Date.DAY, -5); between( Date start, Date end ) : Boolean是否在两个指定的时间之间clearTime( Boolean clone ) : Date清除时间信息,如果clone为真,则克隆自已并返回新Date,本身的值并不改变,反之则修改自身的值clone() : Date克隆format( String format ) : String格式化时间d     两位数的日期                01 至 31D     三字母的星期名                Mon 至 Sunj     一位数的日期                1 至 31l     完整的星期名                Sunday 至 SaturdayS     日期的英文顺序刻词尾,两个字符        st, nd, rd or th.w     一周中的第几天                0 (星期天) 至 6 (星期六)z     一年中的第几天                0 至 364 (闰年365 )W     ISO-8601 星期数, 周一算一个星期的开始    1 至 53F     月的完整英文名                January 至 Decemberm     月,以0前导                01 至 12M     三字母的简写月名                Jan 至 Decn     月                    1 至 12t     本月有多少天                28 至 31L     是否闰年                    1/0Y     完整的年份                例: 1999 或 2003y     年的后两位                例: 99 或 03a     上午/下午小写                am 或 pmA     上午/下午大写                AM 或 PMg     小时/12小时制                1 至 12G     小时/24小时制                0 至 23h     小时/12小时制                01 至 12H     小时/24小时制                00 至 23i     分钟                    00 至 59s     秒                    00 至 59u     毫秒                    001 至 999O     时区,与格林威治标准时间之差        例: +0200T     时区简写                    例: EST, MDT ...Z     时区间距                    -43200 至 50400其中Date类内置了几种格式Date.patterns = {    ISO8601Long:"Y-m-d H:i:s",    ISO8601Short:"Y-m-d",    ShortDate: "n/j/Y",    LongDate: "l, F d, Y",    FullDateTime: "l, F d, Y g:i:s A",    MonthDay: "F d",    ShortTime: "g:i A",    LongTime: "g:i:s A",    SortableDateTime: "Y-m-d\\TH:i:s",    UniversalSortableDateTime: "Y-m-d H:i:sO",    YearMonth: "F, Y"};当然ISO8601Long和ISO8601Short还是非常招人喜欢的例:dt.format(Date.patterns.ISO8601Long);dt.format('Y-m-d H:i:s');getDayOfYear() : Number一年中的第几天,从0开始getDaysInMonth() : Number本月有多少天,getElapsed( [Date date] ) : Number当前日期对象与date之间相差的毫秒数getFirstDateOfMonth() : Date本月的第一天getFirstDayOfMonth() : Number本月第一天是星期几getGMTOffset() : String时区信息(见格式定义中的'O')
getFirstDateOfMonth() : Date本月最后一天getFirstDayOfMonth() : Number本月最后一天是星期几getSuffix() : String日期后导符(见格式定义中的S)getTimezone() : String时区(见T)getWeekOfYear() : Number一年中的第几周(见W)isLeapYear() : Boolean是否闰年
6、Function类
createCallback(/*args...*/) : Function创建回叫方法createDelegate( [Object obj], [Array args], [Boolean/Number appendArgs] ) :创建委托这两个记法除了传参方式不同,看不出有什么差异都是调用method.apply,createCallback可以看作一个简化版的createDelegatecreateCallback==>return method.apply(window, args);createDelegate==>return method.apply(obj || window, callArgs);前者参数比较简单,直接传过去了,后者的规则比较复杂点,如果appendArgs为真,args将附加在参数列表之后,如果是数值,args将在参数列表的appendargs位置插入,其它情况下原参将不起作用例:var fn = func1.createDelegate(scope, [arg1,arg2], true) //fn(a,b,c) === scope.func1(a,b,c,arg1,arg2); var fn = func1.createDelegate(scope, [arg1,arg2]) //fn(a,b,c) === scope.func1(arg1,arg2); var fn = func1.createDelegate(scope, [arg1,arg2], 1) //fn(a,b,c) === scope.func1(a,arg1,arg2,b,c); var fn = func1.createCallback(arg1, arg2); //fn() === func1(arg1, arg2) createCallback : function(/*args...*/) createInterceptor( Function fcn, [Object scope] ) : Function创建阻断方法,如果fcn返回false,原方法将不会被执行createSequence( Function fcn, [Object scope] ) : Function创建组合方法,执行原方法+fcndefer( Number millis, [Object obj], [Array args], [Boolean/Number appendArgs] ):Number定时执行,隔millis毫秒后执行原方法

7、Ext.Element类
Element( String/HTMLElement element, [Boolean forceNew] )由id或DOM节点创建Element对象Element.fly( String/HTMLElement el, [String named] ) : Element由id或DOM节点创建一个全局共享的活动元素,可由named命名以避免可能的冲突Element.get( Mixed el ) : Element由id或DOM节点或已存在的Element得到一个Ext.Element对象addClass( String/Array className ) : Ext.Element为元素添加一个或多个css类名addClassOnClick( String className ) : Ext.Element为点击事件添加和移除css类addClassOnFocus( String className ) : Ext.Element为得到和失去焦点添加和移除css类addClassOnOver( String className, [Boolean preventFlicker] ) : Ext.Element为鼠标移入移出事件添加和移除css类(该方法未实际使用preventFlicker参数)addKeyListener( Number/Array/Object/String key, Function fn, [Object scope] ) : Ext.KeyMap为对象添加按键侦听 key由数值或字符串或{key: (number or array), shift: (true/false), ctrl: (true/false), alt: (true/false)}这样的对象或他们的数组组成addKeyMap( Object config ) : Ext.KeyMap功能同addKeyListener,只是传参方式不同例:el.addKeyMap({key : "ab",ctrl : true,fn: fn,scope:el });和el.addKeyListener({key:"ab",ctrl:true},fn,el);是等价的,都是在 按下ctral+a或ctrl+b后呼叫fnaddListener( String eventName, Function fn, [Object scope], [Object options] ) : void定义事件侦听,eventName:事件名,fn:事件处理方法,scrope:范围,其中options的定义比较复杂,可以包含以下属性scope {Object} : 处理fn的范围delegate {String} : 一个简单选择器(过滤目标或寻找目标的子孙节点)stopEvent {Boolean} : 阻止事件,等于preventDefault+stopPropagationpreventDefault {Boolean} : 阻止默认活动stopPropagation {Boolean} : 阻止事件冒泡normalized {Boolean} :设为flase将允许浏览器事件替代Ext.EventObjectdelay {Number} : 延时多少毫秒后发生single {Boolean} : 只运行一次buffer {Number} : 在Ext.util.DelayedTask中预定事件当然,还可能自定义参数以传入functionalignTo( Mixed element, String position, [Array offsets], [Boolean/Object animate] ) : Ext.Element将el对齐到element,positon,指示对齐的位置,可选以下定义tl     左上角(默认)t      上居中 tr     右上角l      左边界的中央c      居中r      右边界的中央bl     左下角b      下居中br     右下角position还可以使用?约束移动不能超出窗口offsets 偏移量,以象素为单位animate 详见animate定义例:div1.alignTo('div2','c-bl?',[20,0],true);采用默认动画将div1的最中央对齐到div2的左下角,并右移20个象素,且不能超出窗口anchorTo( Mixed element, String position, [Array offsets], [Boolean/Object animate], [Boolean/Number monitorScroll], Function callback ) : Ext.Element功能和alignTo类似,只是当窗口重定义大小的时候也会引发重对齐事件monitorScroll参数说明是否需要监视滚动条行为,如果定义为数值则是定义的延时,单位为毫秒,默认是50ms,callback定义了animate完成后的回叫方法animate( Object args, [Float duration], [Function onComplete], [String easing], [String animType] ) : Ext.Element执行动画.args:目标duration:时间间隔.默认是0.35Function:完成后的回叫方法easing:行为方法 默认值是:easeOut,可选值在ext_base中找到,但没有说明,以下内容从yahoo ui中找到的easeNone:匀速easeIn:开始慢且加速easeOut:开始快且减速easeBoth:开始慢且减速easeInStrong:开始慢且加速,t的四次方easeOutStrong:开始快且减速,t的四次方easeBothStrong:开始慢且减速,t的四次方elasticIn:elasticOut:elasticBoth:backIn:backOut:backBoth:bounceIn:bounceOut:bounceBoth:太多,慢慢体会吧animType:定义动画类型,默认值run 可选值:color/motion/scrollappendChild( String/HTMLElement/Array/Element/CompositeElement el ) : Ext.Element添加子元素el(el须已存在)appendTo( Mixed el ) : Ext.Element将当前元素添加到elapplyStyles( String/Object/Function styles ) : Ext.Element应用样式,styles是"width:100px"这样的字符串或{width:"100px"}这样的对象,function是指返回这样的字串和对象的函数,这是一个没有用的批示,因为任何传参的地方都可以是返回要求类型的function.另见setStyleautoHeight( [Boolean animate], [Float duration], [Function onComplete], [String easing] ) : Ext.Element自适应高度,参数都是老相识了,惟一需要注意的是这个方法使用了setTimeout,高度不会马上变更blur() : Ext.Element失去焦点,忽略所有的异常boxWrap( [String class] ) : Ext.Element用一个指定样式class的div将当前元素包含起来,class默认值为x-boxcenter( [Mixed centerIn] ) : voidalignTo的简华版.相当于alignTo(centerIn || document, 'c-c'),当前元素的中心对齐到centerIn元素的中心child( String selector, [Boolean returnDom] ) : HTMLElement/Ext.Element依selector选择子孙节点,依returnDom不同批示返回html元素还是ext元素,未定义或false时返回Ext.Elementclean( [Boolean forceReclean] ) : void清除无用的空白文本节点(我喜欢这个想法)clearOpacity() : Ext.Element清除当前元素样式中不通用元素,清除ie中的filter,清除FF中的opacity/-moz-opacity/-khtml-opacityclearPositioning( [String value] ) : Ext.Element清除定位,恢复到默认值,相当于this.setStyle({"left": value,"right": value,"top": value,"bottom": value,"z-index": "","position" : "static"});clip() : Ext.Element裁剪溢出部分,用unclip()恢复contains( HTMLElement/String el ) : Boolean当前元素中是否存在elcreateChild( Object config, [HTMLElement insertBefore], [Boolean returnDom] ) : Ext.Element创建一个新的子节点configomHelper元素对象,如果没有特别指明tag,将使用div做默认tag,详情参见DomHelper,如果未定义insertBefore,则追加createProxy( String/Object config, [String/HTMLElement renderTo], [Boolean matchBox] ) : Ext.Element创建一个代理元素config:代理元素的类名或DomHelper config对象renderTo:将要绘制代理元素的html element或idmatchBox:是否对齐createShim() : Ext.Element在当前元素之前创建一个classname为ext-shim的iframe,有什么用?down( String selector, [Boolean returnDom] ) : HTMLElement/Ext.Element通过样式选择器selector选择子孙节点enableDisplayMode( [String display] ) : Ext.ElementsetVisibilityMode的简便方法findParent( String selector, [Number/Mixed maxDepth], [Boolean returnEl] ) : HTMLElement通过简单选择器selector寻找祖先节点 ,直到maxDepth(元素maxDepth默认为10,也可以是指定的DOM 节点),找不到返回nullfindParentNode( String selector, [Number/Mixed maxDepth], [Boolean returnEl] ) : HTMLElement从父元素开始使用简单选择器selector选择DOM节点first( [String selector], [Boolean returnDom] ) : Ext.Element/HTMLElement得到第一个符合selector条件的子节点,跳过文本节点focus() : Ext.Element得到焦点getAlignToXY( Mixed element, String position, [Array offsets] ) : Array得到当前元素按position规则对齐到element时的XY坐标值 position/offsets参数参见alignTo方法getAnchorXY( [String anchor], [Object size], [Boolean local] ) : Array得到当前元素锚点指定的坐标值 anchor定义参见alignTo方法,默认为cgetAttributeNS( String namespace, String name ) : String得到使用了命名空间namespace的属性name之值,getBorderWidth( String side ) : Number得到side指定的边框之和,side可以是t, l, r, b或他们的任意组合,比如getBorderWidth("lr")就是得到左边框和右边框之和getBottom( Boolean local ) : Number得到当前元素的底部纵坐标,元素纵坐标+元素高度getBox( [Boolean contentBox], [Boolean local] ) : Object得到当前元素的box对象:{x,y,width,height}getCenterXY() : Array如果当前元素要居中对齐时的横纵坐标值,等价getAlignToXY(document, 'c-c')getColor( String attr, String defaultValue, [String prefix] ) : void得到当前元素指定attr的颜色值,如果没指定,返回defualtValue,比较郁闷的是明明不是void为什么api中批示是一个void?应该是个字符串getComputedHeight() : Number得到计算过的高度,得到offsetHeight或css中定义的height值之一,如果使用了padding/borders,也会计算进去getComputedWidth() : Number见getComputedHeightgetFrameWidth( String sides ) : Number得到sides定义的border宽度和padding定义的宽度之和,side定义见getBorderWidthgetHeight( [Boolean contentHeight] ) : Number返回元素的offsetHeightgetLeft( Boolean local ) : Number得到横坐标getMargins( [String sides] ) : Object/Number如果没有定义sides,则返回一个含有{left,top,width,height}对象,反之返回side指定的宽度,side定义见getBorderWidthgetOffsetsTo( Mixed element ) : Array计算从element到当前元素的偏移量getPadding( String side ) : Number得到由side指定的padding之和getPositioning() : Object得到当前元素的位置信息 返回含以下属性的对象{position,left,right,top,bottom,z-index}getRegion() : Region得到当前元素的区域信息 返回含有以下属性的Ext.lib.Region对象{top, left, bottom, right}getRight( Boolean local ) : Number右边界值getScroll() : Object得到一个批示滚动条位置的对象{left, top}getSize( [Boolean contentSize] ) : Object得到宽度和高度组成的对象信息{width,height}getStyle( String property ) : String得到指定的样式值 getStyles简化版getStyles( String style1, String style2, String etc. ) : Object得到由参数组成的对象例:el.getStyles('color', 'font-size', 'width') 可能返回 {'color': '#FFFFFF', 'font-size': '13px', 'width': '100px'}getTop( Boolean local ) : Number得到顶点纵坐 标getUpdater() : Ext.Updater得到当前元素的Updater对象,参见Ext.Updater类getValue( Boolean asNumber ) : String/Number得到value属性的值getViewSize() : Object得到clientHeight和clientWidth信息给成的对象{width,height}getWidth( [Boolean contentWidth] ) : Number..这样的方法真多getX() : Number 得到页面偏移量,也就是绝对坐标getXY() : ArraygetY() : ArrayhasClass( String className ) : Boolean样式类className 存在于当前元素的dom 节点中hide( [Boolean/Object animate] ) : Ext.Element隐藏当前元素hover( Function overFn, Function outFn, [Object scope] ) : Ext.Element设置鼠标移入移出事件initDD( String group, Object config, Object overrides ) : Ext.dd.DDinitDDProxy( String group, Object config, Object overrides ) : Ext.dd.DDProxyinitDDTarget( String group, Object config, Object overrides ) : Ext.dd.DDTarget这个要放到 Ext.dd去专门搞了,用于拖曳insertAfter( Mixed el ) : Ext.ElementinsertBefore( Mixed el ) : Ext.ElementinsertFirst( Mixed/Object el ) : Ext.Element在DOM中el元素之前之后...插入当前元素insertHtml( String where, String html, Boolean returnEl )插入html内容 where 可选beforeBegin, afterBegin, beforeEnd, afterEndinsertSibling( Mixed/Object/Array el, [String where], [Boolean returnDom] ) :插入或创建el做为当前元素的兄弟节点,where可选before/after,默认为beforeis( String selector ) : Boolean验证当前节点是否匹配简单选择器selectorisBorderBox()测试不同的样式规则以决定当前元素是否使用一个有边框的盒子isDisplayed() : Boolean只要不是指定display属性none都会返回真isMasked() : Boolean仅有当前元素有mask并且可见时为真,mask译为蒙片?就是有些输入框没得到值之前会有一行模糊的提示的那种东西isScrollable() : Boolean可以滚动?isVisible( [Boolean deep] ) : Boolean可见?last( [String selector], [Boolean returnDom] ) : Ext.Element/HTMLElement见firstload( String/Function url, [String/Object params], [Function callback], [Boolean discardUrl] ) : Ext.Element直接应用当前updater的update方法mask( [String msg], [String msgCls] ) : Element为当前对象创建蒙片move( String direction, Number distance, [Boolean/Object animate] ) : Ext.Element相前元素相对于当前位置移动,direction批示方向可能的值是"l","left" - "r","right" - "t","top","up" - "b","bottom","down".distance,指示要移动的距离,以像素为单位moveTo( Number x, Number y, [Boolean/Object animate] ) : Ext.Element称动到指定的位置next( [String selector], [Boolean returnDom] ) : Ext.Element/HTMLElement下一个符合selector的兄弟节点,on( String eventName, Function fn, [Object scope], [Object options] ) : void详见addListenerposition( [String pos], [Number zIndex], [Number x], [Number y] ) : void初始化当前元素的位置 pos可选择relative/absolute/fixedprev( [String selector], [Boolean returnDom] ) : Ext.Element/HTMLElement前一个符合selector的兄弟节点query( String selector ) : Array通过样式选择器选择子节点radioClass( String/Array className ) : Ext.Element添加样式或样式数组到当前元素,并移除兄弟节点中的指定样式relayEvent( String eventName, Object object ) : void将当前元素的eventName事件同时转发给object对象remove() : void从当前DOM中删除元素,并从缓存中移除removeAllListeners() : Ext.Element移除所有的侦听者 removeClass( String/Array className ) : Ext.Element移除样式类removeListener( String eventName, Function fn ) : Ext.Element移除事件eventName的fn侦听器repaint() : Ext.Element强制浏览器重绘当前元素replace( Mixed el ) : Ext.Element用当前元素替换elreplaceClass( String oldClassName, String newClassName ) : Ext.Element替换样式类replaceWith( Mixed/Object el ) : Ext.Element用el替换当前元素scroll( String direction, Number distance, [Boolean/Object animate] ) : Boolean滚动,scroll会保证元素不会越界,direction和distance参数见movescrollIntoView( [Mixed container], [Boolean hscroll] ) : Ext.Element滚动到container内的视图scrollTo( String side, Number value, [Boolean/Object animate] ) : Element基本与scroll方法相同,但不保证元素不越界select( String selector, [Boolean unique] ) :与query不同的是,通过样式选择器selector,select方法会返回一个复合元素对象(CompositeElement)或CompositeElementLite,set( Object o, [Boolean useSet] ) : Ext.Element设置属性,例el.set({width:'200px',height:'200px'});setBottom( String bottom ) : Ext.ElementsetLeft( String left ) : Ext.ElementsetRight( String right ) : Ext.ElementsetTop( String top ) : Ext.ElementsetLeftTop( String left, String top ) : Ext.Element设置css 对象的属性值setBounds( Number x, Number y, Number width, Number height, [Boolean/Object animate] ) : Ext.Element马上改变当前元素的位置和尺寸setBox( Object box, [Boolean adjust], [Boolean/Object animate] ) : Ext.Element为当前元素设置一个盒子box:{x, y, width, height},adjust指示是否马上调整尺寸setDisplayed( Boolean value ) : Ext.Element设置可见性setHeight( Number height, [Boolean/Object animate] ) : Ext.ElementsetWidth( Number width, [Boolean/Object animate] ) : Ext.ElementsetSize( Number width, Number height, [Boolean/Object animate] ) : Ext.Element设置高度和宽度setLocation( Number x, Number y, [Boolean/Object animate] ) : Ext.Element设置当前元素相对于页面的横纵坐标setOpacity( Float opacity, [Boolean/Object animate] ) : Ext.Element设置透明度,opacity为1完全不透明,0完全透明setPositioning( Object posCfg ) : Ext.Element为当前元素指定位置信息,参数posCfg参见getPositioning说明setRegion( Ext.lib.Region region, [Boolean/Object animate] ) : Ext.Element为当前元素指定区域信息 region定义 见getRegionsetStyle( String/Object property, [String value] ) : Ext.Element设置样式setVisibilityMode( visMode Element.VISIBILITY ) : Ext.Element指示是使用Element.VISIBILITY还是Element.DISPLAY属性来定义可见性setVisible( Boolean visible, [Boolean/Object animate] ) : Ext.Element设置可见性setX( Number The, [Boolean/Object animate] ) : Ext.ElementsetXY( Array pos, [Boolean/Object animate] ) : Ext.ElementsetY( Number The, [Boolean/Object animate] ) : Ext.Element设置当前元素相对于page的位置show( [Boolean/Object animate] ) : Ext.Element显示当前元素swallowEvent( String eventName, [Boolean preventDefault] ) : Ext.Element阻止eventName事件冒泡,并视preventDefault阻断默认行为toggle( [Boolean/Object animate] ) : Ext.Element切换元素的visibility 或display属性,依赖于setVisibilityMode设定的toggleClass( String className ) : Ext.Element如果样式名存在于当前元素对应的dom 节点,移除,反之应用translatePoints( Number/Array x, Number y ) : Object返回一个{left,top}结构un( String eventName, Function fn ) : Ext.Element解除事件侦听,参见   removeListenerunclip() : Ext.Element见clip;
unmask() : void见mask;unselectable(): Ext.Element禁止文本选择up( String selector, [Number/Mixed maxDepth] ) : Ext.Element通过样式选择器selector选择祖先节点update( String html, [Boolean loadScripts], Function callback ) : Ext.Element利用html更新当前节点内容,loadScripts指示html中如果有script,是否需要运行,这是一个innerHTML的一个老老老问题了wrap( [Object config], [Boolean returnDom] ) : HTMLElement/Element用另一个元素config包含自己
8、Ext.DomQuery类
selector语法详见Ext类compile( String selector, [String type] ) : Function编写一个选择器或xpath查询到一个方法以方便重用,type取select(默认)或simple值之一filter( Array el, String selector, Boolean nonMatches ) : Array过滤el中的元素,保留符合selector的,如果nonMatches为真,结果相反is( String/HTMLElement/Array el, String selector ) : Boolean验证el是否匹配selectorselect( String selector, [Node root] ) : Array从root中选择匹配selector的对象数组selectNode( String selector, [Node root] ) : Element返回root中第一个匹配selector的对象selectNumber( String selector, [Node root], Number defaultValue ) : Number返回root中第一个匹配selector的对象的节点值,转换为整数或浮点数selectValue( String selector, [Node root], String defaultValue ) : void返回root中第一个匹配selector的对象的节点值,如果为null,用默认值defaultValue代替
9、Ext.DomHelper类
append( Mixed el, Object/String o, [Boolean returnElement] ) : HTMLElement/Ext.Element创建一个新的DOM元素并添加到el参数 o 是一个DOM对象或一个原始html块applyStyles( String/HTMLElement el, String/Object/Function styles ) : void应用样式styles到对象el, 样式的对象表示方法见Ext.ElementcreateTemplate( Object o ) : Ext.Template由o创建一个新的Ext.Template对象,详见 Ext.TemplateinsertAfter( Mixed el, Object o, [Boolean returnElement] ) : HTMLElement/Ext.ElementinsertBefore( Mixed el, Object/String o, [Boolean returnElement] ) : HTMLElement/Ext.Element创建一个新的DOM对象o并将他们挺入在el之后/之前insertFirst( Mixed el, Object/String o, [Boolean returnElement] ) :创建一个新的DOM元素并做为第一个子节点添加到el (看了这个insertFirst,建议将append取一个别名insertLast:))insertHtml( String where, HTMLElement el, String html ) : HTMLElementwhere 可选值beforeBegin/afterBegin/beforeEnd/afterEnd将html代码插入到el附近,markup( Object o ) : String返回DOM对象o对应的html代码overwrite( Mixed el, Object/String o, [Boolean returnElement] ) :创建一个新的DOM元素o并用它重写el的内容
10、Ext.Template类
Template类主要是功能是生产html片断,例var t = new Ext.Template(    '<div name="{id}">',        '<span class="{cls}">{name:trim} {value:ellipsis(10)}</span>',    '</div>');t.append('some-element', {id: 'myid', cls: 'myclass', name: 'foo', value: 'bar'});公用方法:Template( String/Array html )构造一个Ext.Template对象,参数可以是字符串形式的html代码或它们组成的数组,Template.from( String/HTMLElement el, Object config ) : Ext.Template能过el的value(优先)或innerHTML来构造模板append( Mixed el, Object values, [Boolean returnElement] ) : HTMLElement/Ext.ElementinsertAfter( Mixed el, Object values, [Boolean returnElement] ) : HTMLElement/Ext.ElementinsertBefore( Mixed el, Object values, [Boolean returnElement] ) : HTMLElement/Ext.ElementinsertFirst( Mixed el, Object values, [Boolean returnElement] ) : HTMLElement/Ext.Element这组方法提供由 value产生的html 代码,并添加到dom 做为el的最后一个子节点/下一个兄弟节点/前一个兄弟节点/第一个子节点values解释参见applyTemplateapply() : voidapplyTemplate( Object values ) : Stringapply是applyTemplate的简写,如果参数是数字values可以是一个数组,或者一个象 {id: 'myid', cls: 'myclass', name: 'foo', value: 'bar'}这样的json对象compile() : Ext.Template编译模板,替换掉模板中的\=>\\ ,\r\n|\n==>\\n, '=\',主要是为了js自己处理方便overwrite( Mixed el, Object values, [Boolean returnElement] ) :利用values生成html替换el的内容set( String html, [Boolean compile] ) : Ext.Template设置模板的html,如果compile为真将调用compile方法
11、Ext.EventManager类
事件管理者中的大部分方法都在Ext中有定义,主要用于事件管理addListener( String/HTMLElement el, String eventName, Function handler,on( String/HTMLElement el, String eventName, Function handler, [Object scope], [Object options] ) : voidonDocumentReady( Function fn, [Object scope], [boolean options] ) : voidremoveListener( String/HTMLElement el, String eventName, Function fn ) :un( String/HTMLElement el, String eventName, Function fn ) : Boolean参见ExtonWindowResize( Function fn, Object scope, boolean options ) : void窗口大小变更时触发onTextResize( Function fn, Object scope, boolean options ) : void活动文本尺寸变更时触发
12、Ext.EventObject类
这两个类都定义在EventManager.js中,分开是为了逻辑上更清晰吧,这个类主要用于描述事件本身,一般用做事件处理方法的参数另外这个害定义了一些键值常量,比ascii码好记例function handleClick(e){ // 这儿的e就是一个EventObject对象    e.preventDefault();    var target = e.getTarget();    ...}var myDiv = Ext.get("myDiv");myDiv.on("click", handleClick);//orExt.EventManager.on("myDiv", 'click', handleClick);Ext.EventManager.addListener("myDiv", 'click', handleClick);getCharCode() : NumbergetKey() : Number在非webkit|khtml类型网页中这两个方法是一样的,得到按键的值getPageX() : NumbergetPageY() : NumbergetXY() : Array得到事件坐标getRelatedTarget() : HTMLElement得到关联目标?我总是得到nullgetTarget( [String selector], [Number/Mixed maxDepth], [Boolean returnEl] ) :如果没有定义selector则直接返回target属性,如果定义了selector,则利用selector寻找祖先节点getTime() : Number得到事件发生的时间?getWheelDelta() : Number 应该是个过时的方法,反正在ie和火狐下都不知道做什么用的,原意应该是得到鼠标的按键信息?hasModifier() : Boolean事件发生时是否同时按下了ctrl/alt/shift键之一?preventDefault() : void阻止浏览器的默认事件?stopEvent() : voidpreventDefault+stopPropagationstopPropagation() : void阻止事件冒泡within( Mixed el, [Boolean related] ) : Boolean如果事件的目标是el或者它的子节点将返回真
13、Ext.CompositeElement类
基础的复合元素类,为容器中每个元素创建一个Ext.Element对象虽然不是继承自Ext.Element,但事实上它几乎支持Element类的所有方法例:var els = Ext.select("#some-el div.some-class", true);els.setWidth(100);add( String/Array els ) : CompositeElement添加 css选择器els匹配的元素 或 元素组成的数组 到当前对象clear() : void清除所有元素contains() : Boolean应该是contains(Mixed el):Boolean,当前复合元素中是否含有eleach( Function fn, [Object scope] ) : CompositeElement通过el,this,index参数为每个元素调用fnfill( String/Array els ) : CompositeElementclear()& add(els)filter( String selector ) : CompositeElement过滤first() : Ext.Element第一个元素getCount() : Number//元素的数量indexOf() : Boolean同contains一样应该有个Mixed参数item( Number index ) : Ext.Element第index个元素last() : Ext.Element最后一个元素removeElement( Mixed el, [Boolean removeDom] ) : CompositeElement删除el元素replaceElement( Mixed el, Mixed replacement, [Boolean domReplace] ) : CompositeElement替换
14、Ext.CompositeElementLite类
由Ext.CompositeElement继承而来,重写了一些方法,但没看出与父类有什么不同addElements /invoke /item /addListener /each /indexOf /replaceElement
15、Ext.Fx类
对于我这样的懒鬼而言,Fx类是核心类库中最激动人心的一个类,它不是最重要的,却是最实用的一个类定义了一些常用的特效方法,不妨自己多动手试试下面的方法,很有趣的fadeIn( [Object options] ) : Ext.Element渐显 options参数有以下属性callback:Function    完成后的回叫方法scope:Object        目标easing:String        行为方法 默认值是:easeOut,可选值在ext_base中找到,但没有说明,以下内容从yahoo ui中找到的easeNone:匀速easeIn:开始慢且加速easeOut:开始快且减速easeBoth:开始慢且减速easeInStrong:开始慢且加速,t的四次方easeOutStrong:开始快且减速,t的四次方easeBothStrong:开始慢且减速,t的四次方elasticIn:elasticOut:elasticBoth:backIn:backOut:backBoth:bounceIn:bounceOut:bounceBoth:太多,慢慢体会吧afterCls:String        事件完成后元素的样式duration:Number        事件完成时间(以秒为单位)remove:Boolean        事件完成后元素销毁?useDisplay:Boolean    隐藏元素是否使用display或visibility属性?afterStyle:String/Object/Function        事件完成后应用样式block:Boolean        块状化?concurrent:Boolean    顺序还是同时执行?stopFx :Boolean    当前效果完成后随合的效果是否将停止和移除fadeOut( [Object options] ) : Ext.Element 渐隐 fadeOut和fadeIn能使用一个特别的endOpacity属性以指示结束时的透明度例:el.fadeIn({duration:5,endOpacity:0.7});frame( [String color], [Number count], [Object options] ) : Ext.Element 边框变亮扩展然后渐隐例:el.frame("ff0000", 10, { duration: 3 })ghost( [String anchor], [Object options] ) : Ext.Element渐渐滑出视图,anchor定义tl     左上角(默认)t      上居中 tr     右上角l      左边界的中央c      居中r      右边界的中央bl     左下角b      下居中br     右下角例:el.ghost('b', {    easing: 'easeOut',    duration: .5    remove: false,    useDisplay: false});hasActiveFx() : Boolean指示元素是否当前有特效正在活动hasFxBlock() : Boolean是否有特效阻塞了highlight( [String color], [Object options] ) : Ext.Element高亮显示当前元素例:el.highlight("ffff9c", {    attr: "background-color", //can be any valid CSS property (attribute) that supports a color value    endColor: (current color) or "ffffff",    easing: 'easeIn',    duration: 1});pause( Number seconds ) : Ext.Element暂停puff( [Object options] ) : Ext.Element吹,吹,吹个大气球,元素渐大并隐没例:el.puff({    easing: 'easeOut',    duration: .5,    remove: false,    useDisplay: false});scale( Number width, Number height, [Object options] ) : Ext.Element缩放例:el.scale(    [element's width],    [element's height], {    easing: 'easeOut',    duration: .35});sequenceFx()排队特效shift( Object options ) : Ext.Element位移,并可重置大小,透明度等例:el.shift({    width: [element's width],    height: [element's height],    x: [element's x position],    y: [element's y position],    opacity: [element's opacity],    easing: 'easeOut',    duration: .35});slideIn( [String anchor], [Object options] ) : Ext.ElementslideOut( [String anchor], [Object options] ) : Ext.Element滑入/滑出例:el.slideIn('t', {    easing: 'easeOut',    duration: .5});stopFx() : Ext.Element停止特效switchOff( [Object options] ) : Ext.Element收起并隐没例:el.switchOff({    easing: 'easeIn',    duration: .3,    remove: false,    useDisplay: false});syncFx() : Ext.Element异步特效
16、Ext.KeyNav类
Ext的keyNav类能为Ext.Element元素提供简单的按键处理方法例:var el=Ext.get("textarea");new Ext.KeyNav(el, {    "left" : function(e){        alert("left key down");        },    scope : el    });它的行为与KeyMap类似,但功能比KeyMap要弱小的多,只能处理以下已定义键enter/left/right/up/down/tab/esc/pageUp/pageDown/del/home/end同情一下KeyNav方法只有三个,不用多解释KeyNav( Mixed el, Object config )disable() : voidenable() : void
17、Ext.KeyMap类
则强悍的多,其中最重要的当然是对按键的定义更灵活例:上例用KeyMap来写可能是var el=Ext.get("textarea");new Ext.KeyMap(el, {        key:Ext.EventObject.LEFT,        fn: function(e){            alert("left key down");        },        scope : el    });方法KeyMap( Mixed el, Object config, [String eventName] )构造,与KeyNav也相似,但更灵活它是{key:        String/Array,     //可以是数字,字符,也可以是Ext.EventObject.LEFT这样的助记符,还能是他们组成的数组shift:       Boolean,          //ctrl键按下?ctrl:        Boolean,alt :        Boolean,fn :        Function,         //回叫方法scope:       Object          //范围}这样的对象或它们组成的数组比如{key: 10},{key: [10,13]},{key:'\t'},{key:'abcd'},{key:Ext.EventObject.LEFT}都是合法的定义addBinding( Object/Array config ) : void增加新的绑定动作 config参见构造disable() : voidenable() : voidisEnabled() : Boolean允许,静止和状态查询on( Number/Array/Object key, Function fn, [Object scope] ) : void只添加一个处理时addBinding的快捷方式,但个人感觉并没有简单到哪儿去。
18、Ext.util.JSON类
轮到大名鼎鼎的JSON了,可惜Ext提供的JSON对象功能好弱小,只有encode主decode两个方法而且只能编码String/Array/Date,至少也要搞个 xml2json/json2xml方法呀
19、Ext.util.Format类
主要提供了一些格式化方法capitalize( String value ) : String首字母大写date( Mixed value, [String format] ) : String格式化日期输出,还是Date.format方法好用dateRenderer( String format ) : Function返回一个利用指定format格式化日期的方法defaultValue( Mixed value, String defaultValue ) : String如果value未定义或为空字符串则返回defaultValueellipsis( String value, Number length ) : String如果value的长度超过length的,取前length-3个并用...替代,对中国人来说还是垃圾功能,用的字符串长度不是字节长度fileSize( Number/String size ) : String简单的格式化文件长度为 xxxbytes xxxKB xxxMB,没有GB哟htmlEncode( String value ) : StringhtmlDecode( String value ) : String HTML编码解码,将& < > “替换为&amp;&lt;&gt;&quot;lowercase( String value ) : String将value转换为全小写stripScripts( Mixed value ) : String去除脚本标签stripTags( Mixed value ) : String去除HTML标签substr( String value, Number start, Number length ) : String取子字符串trim( String value ) : String去除开头和结尾的空格undef( Mixed value ) : Mixed如果value未定义,返回空字符串,反之返回value本身uppercase( String value ) : String转为全大写usMoney( Number/String value ) : String转为美元表示
20、Ext.util.DelayedTask类
提供一个setTimeout的简单替代方法公开的方法也只有三个DelayedTask( [Function fn], [Object scope], [Array args] )delay( Number delay, [Function newFn], [Object newScope], [Array newArgs] ) :cancel() : void简单的示例用法如果var task=new Ext.util.DelayedTask(Ext.emptuFn);task.delay(1000);task.cancel();
21、Ext.util.TaskRunner类
增强版的DelayedTask,能提供多线程的定时服务,例:var task = {    run: function(){        Ext.fly('clock').update(new Date().format('g:i:s A'));    },    interval: 1000 }var runner = new Ext.util.TaskRunner();runner.start(task);四个方法都很简单TaskRunner( [Number interval] )start( [Object task] ) : Objectstop( Object task ) : ObjectstopAll() : void
22、Ext.util.TextMetrics类
这个类主要是为了准备的得到块状化文本正确的高度和宽度例:var metrics=Ext.util.TextMetrics.createInstance('div');metrics.setFixedWidth(100);var size=metrics.getSize("中华人民共和国中华人民共和国中华人民共和国中华人民共和国");Ext.MessageBox.alert("getsize",String.format("width:{0}px\theight:{1}px",size.width,size.height))方法bind( String/HTMLElement el ) : void绑定到elcreateInstance( String/HTMLElement el, [Number fixedWidth] ) : Ext.util.TextMetrics.Instance为el创建TextMetrics实例getHeight( String text ) : NumbergetSize( String text ) : ObjectgetWidth( String text ) : Number得到尺寸measure( String/HTMLElement el, String text, [Number fixedWidth] ) : Object测算文本text在el中将要占用的尺寸setFixedWidth( Number width ) : void设置指定的宽度
23、Ext.XTemplate类
增强型模板,支持更多功能了,虽然方法不多,但用起来来还真的很麻烦,但并不建议大家学习这样的自定义语法,不如用xslt另外这个Xtemplate虽然命名空间在Ext之下,但源文件却是放在util目录中的XTemplate( String/Array html )XTemplate.from( String/HTMLElement el ) : Ext.XTemplateapply() : voidapplyTemplate( Object values ) : Stringcompile() : Function这些方法Ext.Template中都有说明,
24、Ext.data.Connection类
访问指定的url,这是个异步调用类,如果想得到服务器信息,请在request参数中指定callback方法或指定侦听者(对文件上传无效)Connection( Object config ) 构造,config定义为{autoAbort : Boolean,defaultHeaders : Object,disableCaching : Boolean,extraParams : Object,method : String,timeout : Number,url : String}对象方法:由   Observable继承过来的方法省略abort( [Number transactionId] ) : void放弃请求,如果同时有多个请求发生,参数指示请求进程序号,不指定则是放弃最后一个请求isLoading( [Number transactionId] ) : Boolean第transactionId个请求是否完成载入,未批定指最后一个request( [Object options] ) : Number最实用的当然是这个方法了,返回的正是前面的两个方法所需要的进程id其中options定义为{url:string,   //请求urlparams:Object/String/Function, //以post方法请求时传递的参数method:string ,       //Get/Postcallback:Function,   //回叫方法,不管是成功还是失败都会呼叫这个方法,有三个参数,由options传入的options参数,success:Boolean,成功? response:Object, 含有返回数据的XMLHttpRequest对象success:Function,   //成功时回叫,第一个参数为XMLHttpRequest对象,第二个参数传入指定的optionsfailure:Function,   //失败时回叫,参数同successscope:Object,       //范围form.:Object/String,   //一个form对象或它的id,可以由此自动生成参数paramsisUpload:Boolean,   //文件上传?通常可以自动检测headers:Object,       //要自定义的请求头信息xmlData:Object       //一个xml文档对象,它将通过url附加参数的方式发起请求disableCaching:Boolean   //是否禁用缓存?默认为真}
25、Ext.Ajax类
由Ext.data.Connection 继承而来,方法和父类一模一样,但使用起来更简单一些,是一个全局惟一静态类示例:Ext.Ajax.request({   url: 'foo.php',   success: someFn,   failure: otherFn,   headers: {       'my-header': 'foo'   },   params: { foo: 'bar' }});Ext.Ajax.request({    form. 'some-form',    params: 'foo=bar'});//所有的Ext.Ajax请求都会加个这个默认的头Ext.Ajax.defaultHeaders = {    'Powered-By': 'Ext'};//所有的Ext,Ajax在发起请求前都会调用showSpinnerExt.Ajax.on('beforerequest', this.showSpinner, this);
26、Ext.data.Record类
基本上可以理解为.net中的datarow或者sql server中的一行数据,它存放了数据的定义信息和他们的值[公有属性]data : Object       数据内容,一个json对象dirty : Boolean       是否修改过id : Object       惟一ID,默认从1000开始以1剃增modified : Object   如果记录没有修改过,为null如果修改过则存放原始值信息[公有方法]Record( Array data, [Object id] )这个构造方法并不用于创建记录对象,相反,应该使用create方法来创建record对象,参数data定义见create方法,id默认递增起始idbeginEdit() : void开始修改cancelEdit() : void 放弃所做的修改,参见commitcopy( [String id] ) : Record//创建当前record的一个克隆值,如果未指定id使用当前id+1commit( [Boolean silent] ) : void commit方法一般会被Store对象调用而不是recorde本身,提交自创建或最后一次修改后的所有变更,如果silent为真将不会通知store对象create( [Array o] ) : function静态构造方法 o是config数组其中config可以含有如下属性{name : String   //字段名mapping : String //用于reader时的映射关系,如果是用于jsonreader,使用相对当前记录的javascript表达式       //,如果是用于xmlreader,则是相对于记录的domquery表达式,对于ArrayReader,则是序号type:String   //可选值 auto /string/int/float/boolean/date,其中auto是默认值,不进行转换sortType : Mixed //排序类型,Ext.data.SortTypes成员之一,参见sortTypessortDir : String //正序倒序 ASC/DESC值之一convert : Function   //转换函数,这个功能很有用,可自定义,接收当前value返回处理后的valuedateFormat : String   //日期格式化字符串,convert:function的一个特例,使用Date.parseDate方法转换当前日期}endEdit() : void结束修改get( name {String} ) : Object指定命名字段string的值getChanges() : Object返回修改记录的对象reject( [Boolean silent] ) : void和commit相似,当然是拒绝所做的修改set( String name, Object value ) : void为字段name设定新值value

27、Ext.data.DataProxy类
数据代理类是一个纯虚类,主要用于生成Ext.data.Record对象,没有公开的属性和方法,只是归定子类需要处理三个事件beforeload : ( Object This, Object params )load : ( Object This, Object o, Object arg )loadexception : ( Object This, Object o, Object arg, Object e )事实上参数也是子类自定义的
28、Ext.data.HttpProxy类
api文档中说httpProxy是从object继承来的,事实上source中它和下面的Ext.data.MemoryProxy/Ext.data.ScriptTagProxy都继承于DataProxyHttpProxy用于远程代理,而且服务端返回信息时必须指定Content-Type属性为"text/xml".HttpProxy( Object conn )构造一个HttpProxy对象,参数可以是一个类似于{url: 'foo.php'}这样的json对象,也可以是一个Ext.data.Connection对象,如果参数没有指定,将使用Ext.Ajax对象将被用于发起请求getConnection() : Connection得到当前连接对象load( Object params, Ext.data.DataReader reader, Function callback, Object scope, Object arg ) : void从配置的connection对象得到record数据块,并激发callbackparams:        发起http请求时所要传递到服务端的参数DataReader:    见DataReadercallback:    回叫方法,第一个参数为接收到的信息,第二个参数为arg,第三个是成功标志scope:        范围arg:        这儿的参数将会传递给回叫函数callback使用示例:var proxy=new Ext.data.HttpProxy({url:'datasource.xml'});    //关于reader将会在Ext.data.DataReader中讲解    var reader = new Ext.data.XmlReader({       totalRecords: "results",        record: "row",                id: "id"                     }, [       {name: 'name', mapping: 'name'},       {name: 'occupation'}                ]);        //定义回叫方法    var metadata;    function callback(data,arg,success){        if(success){            metadata=data;        }    }    //从connection配置的url中利用reader将返回的xml文件转为元数据,并传递给callback    proxy.load( null,reader,callback,this);
29、Ext.data.MemoryProxy类
MemoryProxy( Object data )构造load( Object params, Ext.data.DataReader reader, Function callback, Object scope, Object arg ) : void取数据,和HttpProxy类似,只是params参数没有被使用使用示例var proxy=new Ext.data.MemoryProxy([ [1, 'Bill', 'Gardener'], [2, 'Ben', 'Horticulturalist'] ]); var reader = new Ext.data.ArrayReader({id: 0}, [{name: 'name', mapping: 1},         {name: 'occupation', mapping: 2}    ]);var metadata;function callback(data,arg,success){    metadata=data;}proxy.load( null,reader,callback,this);
30、Ext.data.ScriptTagProxy类
这个类和HttpProxy类似,也是用于请求远程数据,但能用于跨主域调用,如果请求时使用了callback参数则服务端应指定Content-Type属性为"text/javascript"并返回callback(jsonobject)反之则应置Content-Type属性为"application/x-json"并直接返回json对象ScriptTagProxy( Object config )构造,其中config定义为{callbackParam : String,    //回叫参数nocache : Boolean,    //是否缓存timeout : Number,    //超时url : String        //请求数据的url}abort() : void放弃
31、Ext.data.DataReader类
纯虚类,从数据源得到结构化数据转换为元数据对象,对象包含Record的集合,一般用做Store对象的元数据,具有如下格式{totalRecord:int,records:Array of Ext.data.Record}具体使用参见三个子类Ext.data.ArrayReader/Ext.data.JsonReader/Ext.data.XmlReader方法DataReader( Object meta, Object recordType )构造
32、Ext.data.ArrayReader类
用于读数组到一个元数据对象ArrayReader( Object meta, Object recordType )构造,第一个参数是配置除了可以指示使用哪个字段做id外,不懂其它的用法,第二个参数是recordType与record对象的create方法的参数一样,是一样config对象数组,具体参见readRecords( Object o ) : Object读取o,返回一个元数据对象用例示范://定义数组var arr=[ [1, 'Bill', 'Gardener'], [2, 'Ben', 'Horticulturalist'] ]; var reader = new Ext.data.ArrayReader(//以第一个元素做为recordid   {id: 0}, //定义数组到record的映射关系   [    {name: 'name', mapping: 1},             {name: 'occupation', mapping: 2}       ]);//生成元数据var data=reader.readRecords(arr);
33、Ext.data.JsonReader类
用于将一个json对象转换为元数据对象JsonReader( Object meta, Object recordType )JsonReader的构造参数meta可以有更多选择,{id : String,root : String,successProperty : String,totalProperty : String}都是对应json对象的属性名read( Object response ) : Object从一个response对象返回,response.responseText属性应仅含有一个json格式数据块readRecords( Object o ) : Object读取o,返回一个元数据对象使用示例:     var json={ 'results': 2, 'rows': [{ 'id': 1, 'name': 'Bill', occupation: 'Gardener' },    { 'id': 2, 'name': 'Ben', occupation: 'Horticulturalist' } ]};    var reader=new Ext.data.JsonReader(        {        totalProperty: "results",//totalRecords属性由json.results得到        root: "rows",            //构造元数据的数组由json.rows得到        id: "id"                //id由json.id得到        },[        {name: 'name', mapping: 'name'},         {name: 'occupation'}            //如果name与mapping同名,可以省略mapping        ]    )    var data=reader.readRecords(json);
34、Ext.data.XmlReader类
xmlreader对象当然是为xml而准备的构造:XmlReader( Object meta, Mixed recordType )meta与jsonreader类似, meta是一个{     id : String,    record : String,    success : String,    totalRecords : String}对象,只是这些字符串都是相对于文档根目录的domquery路径read( Object response ) : ObjectreadRecords( Object doc ) : Object....var str=["<?xml version=\"1.0\" encoding=\"utf-8\" ?>",    "<dataset>","<results>2</results>","<row>",   "<id>1</id>",   "<name>Bill</name>",   "<occupation>Gardener</occupation>","</row>","<row>",   "<id>2</id>",   "<name>Ben</name>",   "<occupation>Horticulturalist</occupation>","</row>","</dataset>"].join("");//生成xmldocument对象var xmlDocument;if(Ext.isIE){    xmlDocument = new ActiveXObject("Msxml2.FreeThreadedDOMDocument")    xmlDocument.async=false;    xmlDocument.resolveExternals = false;    xmlDocument.loadXML(str) }else{   xmlDocument = (new DOMParser()).parseFromString(str, "text/xml");}//然后开始...和其它两个reader一样的用法,只是这儿换了一种写法,recordtype也可以是一个record对象var record = Ext.data.Record.create([   {name: 'name', mapping: 'name'},     // "mapping" property not needed if it's the same as "name"   {name: 'occupation'}                 // This field will use "occupation" as the mapping.])var reader = new Ext.data.XmlReader({   totalRecords: "results",    record: "row",           //row是节点选择器   id: "id"                 }, record);var data=reader.readRecords(xmlDocument);
35、Ext.data.Store类
store是一个为Ext器件提供record对象的存储容器,行为和属性都很象数据表方法:不列举继承来的方法Store( Object config )构造,config定义为{autoLoad : Boolean/Object,    //自动载入baseParams : Object,    //只有使用httpproxy时才有意义data : Array,        //数据proxy : Ext.data.DataProxy,//数据代理pruneModifiedRecords : boolean,//清除修改信息reader : Ext.data.Reader,    //数据读取器remoteSort : boolean,    //远程排序?sortInfo : Object,    //{field: "fieldName", direction: "ASC|DESC"}这样的排序对象url : String,        //利用url构造HttpProxy}add( Ext.data.Record[] records ) : void增加记录records 到storeaddSorted( Ext.data.Record record ) : void增加record到store并排序(仅本地排序时有用)clearFilter( Boolean suppressEvent ) : void清除过滤器collect( String dataIndex, [Boolean allowNull], [Boolean bypassFilter] ) : Array收集由dataIndex指定字段的惟一值commitChanges() : void提交Store所有的变更,会引发Update事件filter( String field, String/RegExp value, [Boolean anyMatch], [Boolean caseSensitive] ) : void设定过滤器field:String    //字段名value:String    //RegExp 如果是字符器,检查field是否以value开始,如果是正则,检查是否匹配anyMatch:Boolean //匹配任何部分而不仅令是开始caseSensitive:Boolean //大小写敏感?filterBy( Function fn, [Object scope] ) : void更强悍的过滤方法.fn接收两个参数record和idfind( String property, String/RegExp value, [Number startIndex], [Boolean anyMatch], [Boolean caseSensitive] ) : Number找到符合条件的第一条记录,参数同filterfindBy( Function fn, [Object scope], [Number startIndex] ) : Number参见filterBygetAt( Number index ) : Ext.data.RecordgetById( String id ) : Ext.data.Record依充号/id得到record对象getCount() : void得到记录数getModifiedRecords() : Ext.data.Record[]得到修改过的记录集getRange( [Number startIndex], [Number endIndex] ) : Ext.data.Record[]得到指定范围的记录集合getSortState() : void得到排序状态:显然不是void而是返回一个排序对象,同sortInfo一样的结构{field: "fieldName", direction: "ASC|DESC"}getTotalCount() : void这个对于翻页信息还是很有用的indexOf( Ext.data.Record record ) : NumberindexOfId( String id ) : Number由记录或id得到序号insert( Number index, Ext.data.Record[] records ) : void在指定的位置插入记录,并引发add事件isFiltered() : Boolean当前设置了过滤器则返回真load( Object options ) : void由指定的Proxy使用指定的reader读取远程数据options定义为{    params :Object,    //请求url需要附加的参数    callback :Function//回叫方法,接收三个参数    //r : Ext.data.Record[] //返回的record数组    //options: Options load方法传入的options    //success: Boolean //成功    scope :Object, //范围.默认是store本身    add :Boolean 追加还是更新}loadData( Object data, [Boolean append] ) : void用法比load简单一点,目的是一样的,只是这次数据由本地读取query( String field, String/RegExp value, [
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics