posts - 30, comments - 5, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          Ext-API詳解

          Posted on 2010-05-04 11:11 無所謂 閱讀(2809) 評論(0)  編輯  收藏 所屬分類: ExtJS

           

          1、Ext.apply(Object obj, Object config, Object defaults ) : Object
          將config中的所有屬性復制到obj中,如果配置了defaults,則先將defaults中的屬性傳入obj,然后再將config中屬性傳入,一般defaults用于定義一些默認值。
          注意:每個參數都必須是對象object,而不能是function或其他。
          創建object可以通過new function(){}、new Object()、{}等方法創建。

          2、Ext.emptyFn: Function
          用于返回一個空函數,便于在程序中創建空函數。Ext.emptyFn返回function(){}

          3、Ext.applyIf(Object obj, Object config) : Object功能如同Ext.apply,但是只把config中存在而obj不存在的屬性復制過去。

          4、Ext.addBehaviors( Object obj ) : void為頁面中一個或多個元素添加事件
          元素使用css規則查找,其中元素與事件用@隔開 Ext.addBehaviors({
             //為id為foo的元素下的所有a元素添加click事件
             '#foo a@click' : function(e, t){
                 // do something
             },
             // 為多個選擇器添加相同的事件(mouseover)。在@之前使用逗號分開
             '#foo a, #bar span.some-class@mouseover' : function(){
                 // do something
             }
          });
          5、Ext.id( [Mixed el], [String prefix] ) : String 
          返回一個唯一的id值。
          如果只需要獲取一個唯一的id值,則直接調用Ext.id();
          如果需要為某個元素設定一個唯一的id值并返回id則調用Ext.id(el),el為元素Id、Dom對象或Ext的Element對象。
          如果需要指定特定的前綴,則需要傳入第二個參數,如Ext.id(el,”myPrix-”),默認前綴為ext-gen,如默認返回id可能為ext-gen4,指定了前綴后可能返回myPrix-4。

          6、Ext.extend( Object subclass, Object superclass, [Object overrides] ) : void實現對象繼承,目前還不太了解具體原理 ???

          7、Ext.namespace( String namespace1, String namespace2, String etc ) : void
          創建命名空間:
          如Ext.namespace("Company","MyNS.mydata","Data.format.string")
          然后可以創建如MyNS.mydata.doit=function(){…}的接口
          注:命名空間的簡易調用:Ext.ns(),在Ext Api中未給出此用法。

          8、Ext.urlEncode( Object o ) : String將一個json對象轉換稱url參數串,支持通過數組為一個參數設定多個值。
          如將{a:1,b:2,c:[1,3,5,7]}轉換為a=1&b=2&c=1&c=3&c=5&c=7

          9、Ext.urlDecode( String string, [Boolean overwrite] ) : Object將url參數串轉換為json對象,overwrite如果為true,則后面的同名參數值覆蓋前面的同名參數值(默認為false即不覆蓋而以數組形式返回)。
          如 Ext.urlDecode("a=1&b=2&c=1&c=3&c=5&c=7")
          返回的對象內容為{a:1,b:2,c:[1,3,5,7]}
          Ext.urlDecode("a=1&b=2&c=1&c=3&c=5&c=7",true)
          返回{a:1,b:2,c:7}

          10、Ext.each( Array/NodeList/Mixed array, Function fn, Object scope ) : void遍歷array并對每項分別調用fn函數。如果array不是數組則只執行一次。
          如果某項fn執行結果返回false(必須是false,undefined無效),遍歷退出,后面的array項將不被遍歷。
          遍歷過程中每次為fn傳入參數分別為[當前數組項],[當前索引]和[數組array]三個參數。
          Scope用于設定fn函數中的this指針。
          如 Ext.each([1,3,5,7],function(v,i,a){
                alert("index: "+i+" value: "+v+" array.length:"+a.length)
          });
          將循環彈出:
          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。

          22、Ext.value(String v,String defaultValue[,[Boolean allowBlank]):String  //Ext內部方法
          檢查v是否是為null/undefined或空,如果是則返回defaultValue,否則返回v。如果allowBlank參數為true,則允許v為空(即當v為空時不返回defaultValue而返回空)。 

          Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1901694

          主站蜘蛛池模板: 台东市| 南充市| 德保县| 三门县| 牡丹江市| 上饶市| 巴彦淖尔市| 寿宁县| 阳曲县| 济南市| 汉川市| 乌恰县| 大安市| 龙南县| 马尔康县| 奎屯市| 玉田县| 盘锦市| 新巴尔虎右旗| 通山县| 东方市| 文山县| 电白县| 那坡县| 广德县| 霍山县| 台南市| 江永县| 乐安县| 和田县| 驻马店市| 政和县| 海晏县| 万宁市| 高雄市| 固镇县| 隆德县| 栾川县| 江北区| 吉林市| 定远县|