Ext window关闭

血饮 2011-06-30 02:47:27
我想在Window关闭时(点击右上角的"X"),弹出提示框,由用户确认是否关闭窗口,这样该如何实现?
...全文
580 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
cencai09 2011-07-18
  • 打赏
  • 举报
回复
楼上正解!~···
血饮 2011-06-30
  • 打赏
  • 举报
回复
找到原因了,closeAction : 'hide',这个属性是hide,应该用beforehide事件,或是把closeAction:'close';
血饮 2011-06-30
  • 打赏
  • 举报
回复
var codeWindow = new Ext.Window(
{
layout : 'fit',
width : 300,
height : 200,
resizable : false,
draggable : true,
closeAction : 'hide',
title : '<span style="font-weight:normal">新增层面</span>',
// iconCls : 'page_addIcon',
modal : true,
collapsible : false,
closable:true,
listeners:{
beforeClose:function(){
return confirm("确认关闭吗?");
}
},
titleCollapse : true,
maximizable : false,
buttonAlign : 'right',
border : false,
animCollapse : true,
animateTarget : Ext.getBody(),
constrain : true,
items : [ formPanel ],
buttons : [
{
text : '保存',
iconCls : 'acceptIcon',
handler : function() {
if (codeWindow.getComponent('dataSourceForm').form.isValid()) {
Ext.Msg.confirm('提示','确认要新增层面吗?',function(btn,text){
if(btn=='yes'){
codeWindow.getComponent('dataSourceForm').form.submit( {
url : './sjjType.ered?reqCode=saveDivlay',
waitTitle : '提示',
method : 'POST',
waitMsg : '正在处理数据,请稍候...',
success : function(form,action) {
store.reload();
var msg = action.result.msg;
Ext.MessageBox.alert('提示',msg);
codeWindow.hide();
},
failure : function(form,action) {
var msg = action.result.msg;
Ext.MessageBox.alert('提示',msg);
codeWindow.getComponent('dataSourceForm').form.reset();
}
});
}
});

} else {
// 表单验证失败
}
}
}, {
text : '重置',
id : 'btnReset',
iconCls : 'tbar_synchronizeIcon',
handler : function() {
clearForm(formPanel.getForm());
}
},{
text : '关闭',
iconCls : 'deleteIcon',
handler : function() {
Ext.Msg.confirm('确认','确认退出该窗口吗?',function (btn,text){
if(btn=='yes')
{
codeWindow.hide();
}
});

}
} ]
});
codeWindow.on('beforeClose',function(){
return confirm("确认关闭?");
});
我这两种方式用了,貌似还是不行?
lsw645645645 2011-06-30
  • 打赏
  • 举报
回复
beforeClose 区分大小写
lsw645645645 2011-06-30
  • 打赏
  • 举报
回复

Ext.onReady(function () {
Ext.create('Ext.window.Window', {
title: 'Hello',
height: 200,
width: 400,
listeners: {
beforeClose: function (_this) {
return confirm("确认删除吗?");
}
}

}).show();
});

flyerwing 2011-06-30
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 shuixiya1999 的回复:]
例如你的window的实例是win

那么 beforeclose 事件就可以了

win.on('beforeclose',function(){
return confirm('是否关闭');
});

赶紧结贴吧
[/Quote]
差不多这个.
血饮 2011-06-30
  • 打赏
  • 举报
回复
回复于:2011-06-30 15:13:20例如你的window的实例是win

那么 beforeclose 事件就可以了

win.on('beforeclose',function(){
return confirm('是否关闭');
});

赶紧结贴吧
这个也是了,就是不行的?是否还有什么属性要设置吗?
血饮 2011-06-30
  • 打赏
  • 举报
回复
这样好像不行吧,Ext的Api的window事件中没有onbeforeunload 这个事件呀!
汉尼拔 2011-06-30
  • 打赏
  • 举报
回复
例如你的window的实例是win

那么 beforeclose 事件就可以了

win.on('beforeclose',function(){
return confirm('是否关闭');
});

赶紧结贴吧
灬上海爽爷 2011-06-30
  • 打赏
  • 举报
回复
皮皮 2011-06-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 aspwebchh 的回复:]

JScript code
window.onbeforeunload = function() {
try {
return "是否关闭?";
} catch (e) { }
}
[/Quote]
++
挨踢直男 2011-06-30
  • 打赏
  • 举报
回复
        window.onbeforeunload = function() {
try {
return "是否关闭?";
} catch (e) { }
}

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧