标签:
例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