Extjs 如何在关闭窗口时提示是否关闭

 我来答
honester88z
2012-10-27 · TA获得超过197个赞
知道答主
回答量:116
采纳率:0%
帮助的人:127万
展开全部
Extjs关闭窗口前有一个事件是beforeclose,当返回false时,extjs不再执行关闭操作。
由于使用Ext的show方法是异步执行,因此在异步弹出选择框时,仍然执行了关闭操作。
所以第一步是给窗口对象在 Ext.MessageBox.show 后添加
return false;
openerWin.on(beforeclose, function() {
Ext.MessageBox.show({});
return false;});第二步,在关闭对话框的yes按钮里添加事件
openerWin.close();
此时会再次调用窗口关闭操作。
第三步,加入控制变量,判断是否触发了关闭操作。代码示例:openerWin = Ext.ux.Util.createWindow({id : id,
title : appletName,
width : this.width + 10,
height : this.height + 35,
plain : true,
closable : true,
resizable : true,
html : htmlContent});
var ifclose=false;
openerWin.on(beforeclose, function() {
if(ifclose){ return true;}
Ext.MessageBox.show({
title : i18n.prompt,
msg : i18n.ldap_prompt_operation_option,
buttons : Ext.Msg.YESNO,
icon : Ext.Msg.WARNIN,
fn : function(btn) {
if (btn == 'yes') {
ifclose=true;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式