ExtJS DOM元素操作經(jīng)驗(yàn)分享
更新時(shí)間:2013年08月28日 15:36:15 作者:
這篇文章的主題是分享下我使用 ExtJS 操作 DOM 元素的一些經(jīng)驗(yàn),作為一個(gè)程序員是需要不斷學(xué)習(xí)的,喜歡的朋友可以學(xué)習(xí)下
記得最早剛接觸網(wǎng)頁操作DOM元素的時(shí)候是做畢業(yè)設(shè)計(jì)的時(shí)候,用JQuery操作的。畢業(yè)工作后是從事C++方面的編程,兩年后,又重新解決了網(wǎng)頁編程,不過這次不是用JQuery了,用的是ExtJS。就我經(jīng)驗(yàn)來看,程序員是一個(gè)需要不斷學(xué)習(xí)的行業(yè)(這也是為什么周圍的同事很多都有白頭發(fā)的緣故吧)。
好了,今天這篇文章的主題是分享下我使用 ExtJS 操作 DOM 元素的一些經(jīng)驗(yàn)。
設(shè)置元素點(diǎn)擊處理函數(shù)的方法
var elem = Ext.get('start');
elem.on('click', function(e, t) {
alert(t.id);
});
查詢多個(gè)元素操作
var body = Ext.query('body')[0];
body.className = "myStyle";
在實(shí)際項(xiàng)目中,由于需要更改一類元素的信息提示樣式,如果根據(jù) css 來查找的話,當(dāng)需要消失操作時(shí),就不能繼續(xù)根據(jù) css 來查找所有的元素了。這時(shí),同事教會(huì)了我一種新的方法,如下:
<span style='display:none;' group='message_group' class='error'></span>
<span style='display:none;' group='message_group' class='error'></span>
// 這樣多個(gè)同樣屬于 group 下的元素,可以通過此種方式獲?。?
var elemMessageArray = Ext.select("span[group='message_group']");
var newCssObj = {};
if (isInfo) {
newCssObj["class"] = "info";
} else {
newCssObj["class"] = "error";
}
// 然后對(duì)每個(gè)元素重新設(shè)置css樣式就行了
elemMessageArray.each( function(el) {
el.set(newCssObj);
el.update(text);
el.show("display");
});
元素的顯示和隱藏
之前我一般用的方式
Uncompleted = Ext.get('uncompleted');
elemUncompleted.setDisplayed(true);
這種方式能夠提供動(dòng)畫效果,但是這樣的話,如果需要元素消失時(shí):元素雖然消失了,但是同樣還是會(huì)占用了元素的空間位置,不便布局。后來,同事發(fā)現(xiàn)可以采用這種方式,雖然沒有了動(dòng)畫效果,但是不會(huì)占用元素的位置:
el.show("display");
el.hide("display");
剛才發(fā)現(xiàn)文檔中的說明:
Hide this element - Uses display mode to determine whether to use "display" or "visibility". See setVisible.
仔細(xì)閱讀文檔是程序員必須要學(xué)會(huì)做的!
好了,今天這篇文章的主題是分享下我使用 ExtJS 操作 DOM 元素的一些經(jīng)驗(yàn)。
設(shè)置元素點(diǎn)擊處理函數(shù)的方法
復(fù)制代碼 代碼如下:
var elem = Ext.get('start');
elem.on('click', function(e, t) {
alert(t.id);
});
查詢多個(gè)元素操作
復(fù)制代碼 代碼如下:
var body = Ext.query('body')[0];
body.className = "myStyle";
在實(shí)際項(xiàng)目中,由于需要更改一類元素的信息提示樣式,如果根據(jù) css 來查找的話,當(dāng)需要消失操作時(shí),就不能繼續(xù)根據(jù) css 來查找所有的元素了。這時(shí),同事教會(huì)了我一種新的方法,如下:
復(fù)制代碼 代碼如下:
<span style='display:none;' group='message_group' class='error'></span>
<span style='display:none;' group='message_group' class='error'></span>
// 這樣多個(gè)同樣屬于 group 下的元素,可以通過此種方式獲?。?
var elemMessageArray = Ext.select("span[group='message_group']");
var newCssObj = {};
if (isInfo) {
newCssObj["class"] = "info";
} else {
newCssObj["class"] = "error";
}
// 然后對(duì)每個(gè)元素重新設(shè)置css樣式就行了
elemMessageArray.each( function(el) {
el.set(newCssObj);
el.update(text);
el.show("display");
});
元素的顯示和隱藏
之前我一般用的方式
復(fù)制代碼 代碼如下:
Uncompleted = Ext.get('uncompleted');
elemUncompleted.setDisplayed(true);
這種方式能夠提供動(dòng)畫效果,但是這樣的話,如果需要元素消失時(shí):元素雖然消失了,但是同樣還是會(huì)占用了元素的空間位置,不便布局。后來,同事發(fā)現(xiàn)可以采用這種方式,雖然沒有了動(dòng)畫效果,但是不會(huì)占用元素的位置:
復(fù)制代碼 代碼如下:
el.show("display");
el.hide("display");
剛才發(fā)現(xiàn)文檔中的說明:
Hide this element - Uses display mode to determine whether to use "display" or "visibility". See setVisible.
仔細(xì)閱讀文檔是程序員必須要學(xué)會(huì)做的!
相關(guān)文章
ExtJs GridPanel簡(jiǎn)單的增刪改實(shí)現(xiàn)代碼
ExtJs GridPanel中實(shí)現(xiàn)增刪改效果的代碼,需要的朋友可以參考下。2010-08-08
JavaScript的ExtJS框架中數(shù)面板TreePanel的使用實(shí)例解析
TreePanel為ExtJS提供了一個(gè)方便的樹結(jié)構(gòu)數(shù)據(jù)展示,尤其是在處理JSON格式數(shù)據(jù)時(shí)十分常用,接下來我們就來看兩則JavaScript的ExtJS框架中數(shù)面板TreePanel的使用實(shí)例解析2016-05-05
一個(gè)簡(jiǎn)單的Ext.XTemplate的實(shí)例代碼
把省份與城市以樹的形式輸出的Ext.XTemplate的實(shí)例代碼,需要的朋友可以參考下2012-03-03
ExtJS擴(kuò)展 垂直tabLayout實(shí)現(xiàn)代碼
最近在做一個(gè)項(xiàng)目時(shí),項(xiàng)目中使用了ExtJS,有些內(nèi)容要分頁簽顯示,而出于項(xiàng)目要求,頁簽只能垂直分布2009-06-06
Extjs 4.x 得到form CheckBox 復(fù)選框的值
CheckBox(復(fù)選框)主要用來接收用戶選擇的選項(xiàng),那么如何通過Extjs 4.x 得到form CheckBox的值呢?下面有個(gè)不錯(cuò)的方法,大家值得一看2014-05-05
Ext中下拉列表ComboBox組件store數(shù)據(jù)格式用法介紹
本文為大家詳細(xì)介紹下Ext中下拉列表ComboBox組件store數(shù)據(jù)格式的基本用法,感興趣的朋友可以參考下哈,希望對(duì)大家有所幫助2013-07-07
Extjs學(xué)習(xí)筆記之三 extjs form更多的表單項(xiàng)
本文接著上講Extjs學(xué)習(xí)筆記之二 Extjs之Form介紹Extjs的表單。Extjs除了類似普通的html form的表單項(xiàng)之外,還有一些功能更為豐富實(shí)用的表單項(xiàng)。2010-01-01

