ExtJs window(二)點擊按鈕打開一個window,window重復創建的問題


例1:點擊按鈕打開一個window,window重復創建的問題
重點分析:這個問題是初學者經常會犯錯的地方,一般來說簡單的代碼不會產生此問題,但是如果以后代碼復雜以后,這個問題如果發生調試起來會非常麻煩!!
第一種,窗體無id,對此點擊問題;modal屬性背景置灰,從而使觸發該窗體的按鈕只能按一次
第二種,窗體存在id,通過id判斷窗體是否被創建

Ext.onReady(function(){
	
	//例1:點擊按鈕打開一個window,window重復創建的問題
	//重點分析:這個問題是初學者經常會犯錯的地方,一般來說簡單的代碼不會產生此問題,但是如果以后代碼復雜以后,這個問題如果發生調試起來會非常麻煩!!
	//第一種,窗體無id,對此點擊問題;modal屬性背景置灰,從而使觸發該窗體的按鈕只能按一次
	//第二種,窗體存在id,通過id判斷窗體是否被創建
	
//	var btn = Ext.get('btn');	//通過id獲取;這個元素是經過Ext包裝過的Ext對象
//	//JQuery code:var btn=$('#btn');var dombtn=btn.get(0);
////	alert(btn.dom.value);	//同jquery,想取到原生對象,先轉成dom對象
//	btn.on('click',function(){
//		if (!Ext.getCmp('mywin')) {//沒有創在id為mywin的窗體,才創建
//			Ext.create('Ext.window.Window', {
//			id:'mywin',	//如果給組件加了id,該組件被Ext所管理
//		    title: '新窗體',
//		    height: 200,
//		    width: 400
////		    modal:true	//第一種解決對此點擊問題;modal屬性背景置灰,從而使觸發該窗體的按鈕只能按一次
//			}).show();
//		}		
//	});
	
	//第二種實現,隱藏,但是依然存在
	debugger;
	var win = Ext.create('Ext.window.Window', {
		    title: '新窗體',
		    height: 200,
		    width: 400,
		    closeAction:'hide'	//默認為destroy,可以通過show再次渲染
			});
	Ext.get('btn').on('click',function(){
		win.show();	//上邊closeAction用destroy,則win不存在
	});
	
});

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM