ExtJs 學(xué)習(xí)筆記基礎(chǔ)篇 Ext組件的使用第2/2頁(yè)
更新時(shí)間:2008年12月29日 23:07:18 作者:
昨天剛接觸到Extjs,簡(jiǎn)單寫了篇學(xué)習(xí)筆記,今天繼續(xù)。
Extjs提供了一套強(qiáng)大的事件處理機(jī)制,專門處理用戶動(dòng)作、監(jiān)控控件狀態(tài)、更新控件視圖信息、與服務(wù)器交互等等。事件由Ext.EventManager對(duì)象管理,與瀏覽器W3C標(biāo)準(zhǔn)事件對(duì)象Event相對(duì)應(yīng),Ext封裝了一個(gè)Ext.EventObject事件對(duì)象。支持事件處理的類(或?yàn)榻涌冢镋xt.util.Observable,凡事繼承該類的組件或類都支持往對(duì)象中添加時(shí)間處理及響應(yīng)功能。
我們?cè)陧?yè)面上加一個(gè)按鈕
<input type="button" id="btntest" value="測(cè)試事件">
在寫一個(gè)函數(shù)
function eventtest(){
Ext.Msg.alert("提示","觸發(fā)了一個(gè)事件!");
}
下面通過(guò)Ext的事件處理機(jī)制為btntest這個(gè)按鈕添加一個(gè)點(diǎn)擊事件,點(diǎn)擊后調(diào)用eventtest方法。
Ext.onReady(
function(){
Ext.get("btntest").addListener("click",eventtest);
}
);
在Ext組件加載完畢后直接給按鈕添加一個(gè)click事件。Ext.get("btntest").addListener(事件,事件執(zhí)行方法,無(wú)需加括弧);
Ext還支持延遲事件處理緩存等功能,比如下面的代碼:
Ext.get("btntest1").addListener("click",eventtest,this,{delay:2000});
<input type="button" id="btntest1" value="延遲事件">
Ext.get("btntest1").addListener("click",eventtest,this,{delay:2000});這句代碼為按鈕注冊(cè)了一個(gè)click事件,但會(huì)延遲2000毫秒執(zhí)行。
可以為html元素添加事件了,我們還可以控制Ext組件的事件,在看一個(gè)例子。
function eventwindow(){
var win=new Ext.Window({
title:"控制Ext組件的事件",
height:200,
width:300
});
win.on(
"beforedestroy",
function(obj){
Ext.Msg.alert("哈哈","你關(guān)不掉了吧!");
obj.show();
return false;
}
);
win.show();
}
每個(gè)組件都含有beforedestroy事件,Ext會(huì)在銷毀這一組件時(shí)觸發(fā)該事件。 這段代碼會(huì)顯示一個(gè)窗體,并且點(diǎn)擊關(guān)閉按鈕時(shí)會(huì)失效。通過(guò)Window的on方法來(lái)控制.. on(事件,事件執(zhí)行函數(shù)).由于窗口對(duì)象的beforedestroy事件響應(yīng)函數(shù)返回值為false,因此執(zhí)行這段程序,窗體才無(wú)法關(guān)閉。組件的時(shí)間監(jiān)聽(tīng)器也可以直接在構(gòu)造函數(shù)中直接聲明,下面的代碼會(huì)和上面同一效果:
function eventwindow(){
var win=new Ext.Window({
title:"控制Ext組件的事件",
height:200,
width:300,
listeners:{
"beforedestroy":
function(obj){
Ext.Msg.alert("哈哈","你關(guān)不掉了吧!");
obj.show();
return false;
}
}
});
win.show();
}
效果如下:

OK,這就是Ext組件的介紹與使用。各位有什么問(wèn)題可以留言一起討論,有什么不對(duì)的地方請(qǐng)指正。
此文章中用的例子都只是簡(jiǎn)單介紹,后面會(huì)詳細(xì)講解。
文章中案例代碼下載 http://xiazai.jb51.net/200812/yuanma/jb51.net_ExtJsDemo2.rar
您可能感興趣的文章:
- js實(shí)現(xiàn)通用的微信分享組件示例
- JS表格組件神器bootstrap table詳解(基礎(chǔ)版)
- JS組件Bootstrap實(shí)現(xiàn)彈出框和提示框效果代碼
- JS組件Bootstrap Select2使用方法詳解
- JS組件Bootstrap Table使用方法詳解
- Js組件的一些寫法
- 解決Extjs 4 Panel作為Window組件的子組件時(shí)出現(xiàn)雙重邊框問(wèn)題
- jquery滾動(dòng)組件(vticker.js)實(shí)現(xiàn)頁(yè)面動(dòng)態(tài)數(shù)據(jù)的滾動(dòng)效果
- JS組件Form表單驗(yàn)證神器BootstrapValidator
- JS組件系列之使用HTML標(biāo)簽的data屬性初始化JS組件
相關(guān)文章
Extjs Gird 支持中文拼音排序?qū)崿F(xiàn)代碼
本文為大家詳細(xì)介紹下Extjs Gird 支持中文拼音排序以及修復(fù)漢字排序異常的Bug、localeCompare比較漢字字符串,F(xiàn)irefox與IE均支持,感興趣的朋友可以參考下2013-04-04
Extjs學(xué)習(xí)筆記之二 初識(shí)Extjs之Form
form恐怕是Web開(kāi)發(fā)中最常用的控件了,Extjs對(duì)普通的html form進(jìn)行了一些封裝,使其具有基本的外觀和一些簡(jiǎn)便的和服務(wù)器進(jìn)行通信的方法。2010-01-01
ExtJS4 表格的嵌套 rowExpander應(yīng)用
今天做一個(gè)grid,里面的數(shù)據(jù)需要帶明細(xì),思來(lái)想去還是搞個(gè)表格嵌套吧,需要的朋友可以參考下2014-05-05
ExtJS 設(shè)置級(jí)聯(lián)菜單的默認(rèn)值
ExtJS在修改這樣的頁(yè)面上賦值是很方便的,在正文中1.2.1代碼中可以看出,一行代碼就可以搞定,但這是對(duì)于普通控件而言,如文本框。對(duì)于ComboBox可沒(méi)這么簡(jiǎn)單...2010-06-06
Ext中下拉列表ComboBox組件store數(shù)據(jù)格式用法介紹
本文為大家詳細(xì)介紹下Ext中下拉列表ComboBox組件store數(shù)據(jù)格式的基本用法,感興趣的朋友可以參考下哈,希望對(duì)大家有所幫助2013-07-07
EXTjs4.0的store的findRecord的BUG演示代碼
EXTjs4.0 的store的findRecord的BUG:當(dāng)判斷ID=1的時(shí)候,遇到1開(kāi)頭的ID的時(shí)候,這個(gè)時(shí)候就判斷出問(wèn)題了,有類似問(wèn)題的朋友可以了解下哈2013-06-06
解決extjs grid 不隨窗口大小自適應(yīng)的改變問(wèn)題
在使用grid的時(shí)候窗口改變了但是grid卻不能自適應(yīng),下面有個(gè)不粗的解決方法,大家可以參考下2014-01-01
Ext JS框架中日期函數(shù)的用法及日期選擇控件的實(shí)現(xiàn)
Ext JS中的Ext.Date可以看作是JavaScript中date的加強(qiáng)版,提供了許多進(jìn)階的日期操作函數(shù),下面我們就來(lái)看一下Ext JS框架中日期函數(shù)的用法及日期選擇控件的實(shí)現(xiàn)2016-05-05
Ext JS 4實(shí)現(xiàn)帶week(星期)的日期選擇控件(實(shí)戰(zhàn)一)
有一些日期選擇的需求是要看到星期,就是日期中的哪一天是這一年的第幾周,遺憾的是Ext js 并沒(méi)有提供這樣的配置,下面為大家分享下理想的解決方法2013-08-08

