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