ExtJS在打开其他窗口前关闭一个窗口
ExtJS close window before opening other window
我想在打开其他窗口之前关闭窗口,我试过这样做,但它不起作用,有人可以帮助我吗?
我的代码片段:listeners: {
click: function() {
var win = new Ext.window.Window({
constrain: true,
height: 300,
title: 'Window',
width: 300,
closeAction: 'hide'
});
if (win.isVisible() !== true) {
win.show();
} else {
win.close();
}
}
}
您可以使用Ext.WindowManager
Ext.create('Ext.Button', {
text: 'Click me',
renderTo: Ext.getBody(),
listeners: {
click: function() {
Ext.WindowManager.each(function(cmp) {
cmp.close();
});
Ext.create('Ext.window.Window', {
constrain: true,
height: 300,
title: 'Window',
width: 300,
closeAction: 'hide'
}).show();
}
}
})
<script src="http://cdn.sencha.com/ext/gpl/4.2.0/ext-all.js"></script>
<link href="http://cdn.sencha.com/ext/gpl/4.2.0/resources/css/ext-all.css" rel="stylesheet" />
var win = new Ext.window.Window({
constrain: true,
height: 300,
title: 'Window',
width: 300,
closeAction: 'hide',
listeners:{
beforeclose:function(){
Ext.Msg.alert('Close','You''re closing Window',function(){
var win2== new Ext.window.Window({
constrain: true,
height: 300,
title: 'Window2',
width: 300,
closeAction: 'hide'
});
win2.show();
});
}
}
});
win.show();
您需要将beforeclose
事件添加到窗口中。在这里,你调用新窗口
Ext.application({
name: 'Fiddle',
launch: function() {
let i = 1;
function create_window(title) {
var win = new Ext.window.Window({
constrain: true,
height: 150,
title: 'Window ' + title,
width: 300,
closeAction: 'hide',
listeners: {
beforeclose: function (sender, options) {
i++;
create_window(i);
return true;
}
}
});
if (win.isVisible() !== true) {
win.show();
} else {
win.close();
}
}
create_window(i);
}
});
<script src="http://cdn.sencha.com/ext/gpl/4.2.0/ext-all.js"></script>
<link type="text/css" rel="stylesheet" href="http://cdn.sencha.com/ext/gpl/4.2.0/resources/css/ext-all.css")/>
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 用javascript将数据从一个窗口传递到另一个窗口
- 构建JS测试,警报窗口重复上一个Q,而不是问下一个Q
- 创建一个方法,通过一个窗口进行迭代并获取Titanium中的所有控件
- 当满足PHP条件时显示一个弹出窗口
- 按下一个HTML按钮,该按钮使用一个功能在同一个新窗口中打开URL
- 想要打开从链接到另一个页面的模式弹出窗口
- 为位于路线上的谷歌地图标记(起点和终点)设置一个信息窗口
- 如何打开一个新窗口或选项卡,并将其提供给javascript执行
- 在屏幕中间打开一个弹出窗口
- window.open:是否可以通过修改DOM来打开一个新窗口
- 有没有一种方法可以检测何时触发了溢出-y:auto,并因此创建一个弹出窗口
- 我需要帮助弄清楚一旦窗口的垂直高度被滚动,如何切换一个元素
- 获取上一个和当前窗口宽度
- 从另一个窗口访问document.getElementById
- 将jquery ui窗口的父元素设置为另一个元素
- 从另一个dojo模板窗口小部件调用dojo模板小部件中的函数
- notify.js没有'如果另一个窗口被聚焦,则不显示通知
- Bootbox,两个模式窗口-一个在另一个之上
- 如何给这个弹出窗口一个滚动条