例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不存在
});
});
ExtJs window(二)点击按钮打开一个window,window重复创建的问题
原文:http://www.cnblogs.com/wangqiang4518/p/5789431.html