EXT 弹出窗口该如何关闭?

现在在公司做一个项目,用到ext,我先用这段代码[code="js"]function showANewWindow(url,title){
topWin= new top.Ext.Window({
id:'topWindow',
title:title,
width:650,
height: 450,
resizable:true,
constrain :true,
plain :true,
autoScroll :true,
maximizable :true,
modal: true,

html:''
});
topWin.show();

}[/code]弹出一个窗口!

然后在这个窗口里面载入一个jsp页面,在这个jsp页面里面有一个[code="js"]Ext.onReady(function(){
var i = document.getElementById("i");
alert(i.value);
//window.moveTo(1500, 1500);

    });[/code] 这样的代码,页面载入时就自动触发,然后拿到i后,想做一个判断,如果符合判断的话,就弹出一个alert("warning");然后把上面弹出来的窗口给关闭掉,我可以肯定i是可以拿到的,但无论我用window.close();还是window.parent.document.getElementById("");窗口ID我没有找到!

我想问下,该如何才可以把我这个弹出来的窗口关闭掉呢?

iteye_14361
iteye_14361 还有我也试过了,window.parent.topWin.close()也是可以的
接近 8 年之前 回复
iteye_14361
iteye_14361 我发现新弹出来的窗口是用三个DIV层叠而成的,然后我用了三行代码把它们都remove掉了,然后就可以了:window.parent.document.body.removeChild(window.parent.document. getElementById("topWindow").previousSibling.previousSibling); window.parent.document.body.removeChild(window.parent.document. getElementById("topWindow").previousSibling); window.parent.document.body.removeChild(window.parent.document. getElementById("topWindow"));
接近 8 年之前 回复

4个回答

Ext中Window,不是真正的Window,而是用div模拟出的窗口,因此一般只是隐藏掉,如果非要关闭掉,就需要从document中移除window对应的dom元素,即id为'topWindow'的元素

iteye_14361
iteye_14361 我没有隐藏,也没有移除,用了window.parent.topWin.close().
接近 8 年之前 回复
witcheryne
witcheryne 我的方法你没尝试么? 手动移除div, js对象是不会被清除的. Ext在创建Component(Window是Component子类), 都会在全局进行注册, 要销毁有特定的方法. 喵了个咪的, 这么用,也可以, 会误导人其他人的.
接近 8 年之前 回复
iteye_14361
iteye_14361 那隐藏该如何隐藏呢?我也试过移除window.parent.document.removeChild("topWindow");但debug得到为空!不知道为啥咯
接近 8 年之前 回复
  1. 先调用Ext的 getComponent 方法获取 Ext.Window对象.
  2. 调用hide()方法隐掉(close也是隐藏, 不会释放dom节点)

[code="java"]
Ext.getCmp('topWindow').hide();
[/code]

首先,如果想关掉这个window,需要加属性closeAction:'close',否则就是调用close方法,window还是隐藏的

其次如果showANewWindow需要经常调用,
建议不要将window关闭,隐藏就行,同时window对象创建移到外面,
调用时设置url和title就行
document.getElementById(this.frameId).src=url;
window.setTitle(title);

这哥们,应该是做桌面程序过来的吧!

iteye_14361
iteye_14361 不是,我还是大三学生,刚实习一个月
接近 8 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐