Ext學習筆記3-事件及元件
10-EXT中的事件
--對於外界影響的反應,在EXT中還支援事件佇列模式.由Ext.util.Observable類支援
Ext.namespace("Ext.wang"); //自定義名稱空間
Ws = Ext.wang; //名稱空間別名
Ws.Person = function(_cfg){ //類構造方法
Ext.apply(this, _cfg);
this.addEvents(
// 一.定義事件
"nameChange",
"sexChange"
)
};
PEN = Ws.Person; //類別名
//**********************************二.釋出事件 fireEvent("EventName",若干引數)************************************
Ext.extend(PEN,Ext.util.Observable,{
name:"",
sex:"",
setName:function(_name){
if(this.name != _name){
this.fireEvent("nameChange", this, this.name, _name); //二.釋出事件
alert("nameChange事件")
this.name = _name;
}
},
setSex:function(_sex){
if(this.sex != _sex){
this.fireEvent("sexChange", this, this.name, _sex); //二.釋出事件
alert("sexChange事件")
}
}
})
//*************************************三.訂閱事件(Ext.get(element).on(Event,fun))*************************************
var _person = null;
Ext.onReady(function(){
var txt_name = Ext.get("txt_name");
var txt_sex = Ext.get("txt_sex");
_person = new PEN();
_person.on("nameChange",function(_person, _old, _new){ //訂閱事件
txt_name.dom.value = _new;
});
_person.on("sexChange",function(_person, _old, _new){ //訂閱事件
txt_sex.dom.value = _new;
});
//******************************************************
Ext.get("btn_change").on("click",function(){
_person.setName(prompt("請輸入名字:",""));
_person.setSex(prompt("請輸入性別:",""));
});
})
<!--HTML程式碼-->
姓名:<input id="txt_name" /><br />
性別:<input id="txt_sex" /><br />
<input type="button" value="輸入" id="btn_change"/>
11-Ext_button元件
* 構造引數:
- text : 按鈕上的名稱
- handler : 指定一個函式控制程式碼, 在預設事件觸發時呼叫, 此時的預設事件為click
- listeners : 這個是在物件初始化之前, 就將一系列事件進行定義的手段, 在進行組建化程式設計時,特別有用
* 屬性:
- text : 獲得當前按鈕上的名稱
- minWinWidth : 按鈕的最小寬度
- renderTo : 將當前物件所生成的HTML物件存放進指定的物件中
* 方法:
- setText : 獲得當前按鈕上的名稱
* 事件:
- click, mouseover, mouseout 等
Ext.onReady(function(){
var btn = new Ext.Button({
renderTo:Ext.getBody(), // 新增到該元素內如
text:'點我啊', //構造引數
minWidth:100,
handler:function(){ //新增事件處理 預設為click
alert("你點我幹嗎?我叫"+this.text);
},
listeners:{ //新增事件監聽
'mouseover':function(){
this.setText("滑鼠在上面!");
},
'mouseout':function(){
this.setText("點我啊");
}
}
});
})
12-Ext_form_TextField元件
* 屬性:
- fieldLabel : 文字框的標籤名稱
* 方法:
- getValue() : 得到當前文字框的值
* 由Ext_form_TextField組建產生的引申話題
- Ext.layout.FormLayout : 只有在次佈局下才能正確現實文字框的標籤名,
佈局的宿主物件必須是Ext.Container或者Ext.Container的子類
- 在應用FormLayout佈局時只要在宿主物件的構造引數中指定layout:'form' 即可
- Ext.getCmp(string _id) : 得到id為_id的組建物件
示例程式碼1:
Ext.onReady(function(){
var textField = new Ext.form.TextField({
fieldLable:'文字框', //此時並不顯示
renderTo:Ext.getBody()
});
});
示例程式碼2:
Ext.onReady(function(){
var _panel = new Ext.Panel({
renderTo:Ext.getBody(),
layout:'form',
labelWidth:30,
listeners:{
'render' : function(_panel){ //這裡之所以在這裡用這個render事件而不像下面註釋掉的程式碼那樣新增組建
_panel.add(new Ext.form.TextField({ //,是因為那樣的話很可能該組建還沒有例項化完全,久像其中新增組建,很可能會出錯!
fieldLabel:'姓名', //有了佈局,它就顯示出來了
id:'txt_name'
}))
}
}
});
//_panel.add(new Ext.form.TextField({
// fieldLabel:'姓名11',
// id:'txt_name1'
// }));
new Ext.Button({
text:"按鈕",
renderTo:Ext.getBody(),
handler:function(){
alert(Ext.getCmp('txt_name').getValue());
}
});
})
相關文章
- React學習手記3-事件處理React事件
- Ext2.x學習筆記筆記
- Ext學習筆記6-Ajax筆記
- java學習筆記#3-異常/集合Java筆記
- Ext學習筆記9-表單筆記
- Ext學習筆記11-佈局筆記
- 【Go】Go語言學習筆記-3-包Go筆記
- Ext學習筆記1-基礎概念筆記
- Ext學習筆記2-物件導向筆記物件
- Ext學習筆記5-window窗體筆記
- Ext學習筆記10-表單續筆記
- VBA 控制元件學習筆記(按鈕點選事件)控制元件筆記事件
- React學習筆記-元件React筆記元件
- React學習筆記 – 元件React筆記元件
- Ext學習筆記8-資料模型及工具欄選單欄筆記模型
- 基金訓練營學習筆記3-股票基金筆記
- EXTJS 視窗Ext.Window()學習筆記JS筆記
- Ext學習筆記7-對話方塊筆記
- Javasript學習筆記-Event事件Java筆記事件
- Flutter學習筆記(11)--文字元件、圖示及按鈕元件Flutter筆記字元元件
- 元件化學習筆記 一元件化筆記
- node事件迴圈學習筆記事件筆記
- 拖放事件(自己的學習筆記)事件筆記
- React學習筆記-事件處理React筆記事件
- Object C學習筆記3-物件的使用和定義Object筆記物件
- Flutter學習筆記(12)--列表元件Flutter筆記元件
- vue學習筆記(六) ----- vue元件Vue筆記元件
- Java NIO 核心元件學習筆記Java元件筆記
- UIResponder事件響應鏈學習筆記UI事件筆記
- Vue學習筆記之事件處理Vue筆記事件
- iOS學習筆記05 觸控事件iOS筆記事件
- Flutter學習筆記(10)--容器元件、圖片元件Flutter筆記元件
- 《Fluid Engine Development》 學習筆記3-光滑粒子流體動力學UIdev筆記
- Flutter學習筆記(9)--元件WidgetFlutter筆記元件
- Flutter學習筆記(13)--表單元件Flutter筆記元件
- ajax 學習筆記 updatepannel控制元件筆記控制元件
- “React元件間通訊”學習筆記React元件筆記
- Flutter學習筆記(32)--PointerEvent事件處理Flutter筆記事件