作者:赫連紫軒(Puras)
參考:http://extjs.com/learn/Tutorial:Introduction_to_Ext
簡介:記錄一下ExtJS的一些簡單使用的方法.備忘...
開始...
在ExtJS里最常用的,應(yīng)該就是Ext.onReady這個(gè)方法了,而且它也可能是你學(xué)習(xí)ExtJS所接觸的第一個(gè)方法,這個(gè)方法在當(dāng)前的DOM加載完畢后自動(dòng)調(diào)用,保證頁面內(nèi)的所有元素都能被Script所引用.可以嘗試在這個(gè)方法中添加一條語句,看看頁面打開后是什么反映:
Ext.onReady(function() {
alert('hello world!');
});
上面的代碼將在頁面加載完畢后彈出一對(duì)話框,打印出'hello world!'字樣.
獲取元素
還有一個(gè)常用的方法,就是獲取頁面上的元素了,ExtJS提供了一個(gè)get方法,可以根據(jù)ID取到頁面上的元素:
var myDiv = Ext.get('myDiv');
會(huì)取到頁面上ID為'myDiv'的元素.如果使用Element.dom的方法,則可以直接操作底層的DOM節(jié)點(diǎn),Ext.get返回的則是一個(gè)Element對(duì)象.
在不能使用這種方式來獲取多個(gè)DOM的節(jié)點(diǎn),或是要獲取一些ID不一致,但又有相同特征的時(shí)候,可以通過選擇器來進(jìn)行獲取,比如要獲取頁面上所有的<p>標(biāo)簽,則可以使用:
var ps = Ext.select('p');
這樣你就可以對(duì)所要獲取的元素進(jìn)行操作了,select()方法返回的是Ext.CompositeElement對(duì)象,可以通過其中的each()方法對(duì)其所包含的節(jié)點(diǎn)進(jìn)行遍歷:
ps.each(function(el) {
el.highlight();
});
當(dāng)然,如果你要是對(duì)獲取的所有元素進(jìn)行相同的操作,可以直接應(yīng)用于CompositeElement對(duì)象上,如:
ps.highlight();
或是:
Ext.select('p').highlight();
當(dāng)然,select參數(shù)還可以更復(fù)雜一些,其中可以包括W3C Css3Dom選取器,基本的XPath,HTML屬性等,詳細(xì)情況,可以查看DomQuery API的文檔,來了解細(xì)節(jié).
事件響應(yīng)
獲取到了元素,則可能會(huì)對(duì)一些元素的事件進(jìn)行一些處理,比如獲取一個(gè)按鈕,我們?yōu)樗砑右粋€(gè)單擊事件的響應(yīng):
Ext.onReady(function() {
Ext.get('myButton').on('click', function() {
alert('You clicked the button!');
});
});
當(dāng)然,你可以把事件的響應(yīng)加到通過select()方法獲取到的元素上:
Ext.select('p').on('click', function() {
alert('You clicked a paragraph!');
});
Widgets
ExtJS還提供了豐富的UI庫來供大家使用.
消息窗口
將前面的alert()方法替換一種ExtJS提供的方案:
Ext.onReady(function() {
Ext.get('myButton').on('click', function() {
alert('You clicked the button!');
});
});
而且它還可以如桌面開發(fā)一樣,來設(shè)置消息窗口是否模式的,也就是說在彈出窗口的時(shí)候,其他的操作是否可做.這點(diǎn)我很喜歡...^_^
還有非常好用的Grid,Tree,Menu等等,這些稍后會(huì)有更加詳細(xì)的介紹.
Ajax部分也提供了不錯(cuò)的支持,稍后都會(huì)有詳細(xì)的介紹....
馬上就下班了,今天就暫時(shí)寫到這里吧.