博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ext tabPanel中的panel关闭时提示用户是否要关闭窗口
阅读量:4106 次
发布时间:2019-05-25

本文共 1347 字,大约阅读时间需要 4 分钟。

var t = false;//判断是否要关闭
var tabPs = window.tabs;//获得定义为全局的tablePanel对象
    var curPanel = tabPs.getActiveTab();//获得当前活动的panel
    curPanel.on('beforeclose',function(){
    //判断是否关闭
Ext.Msg.show({
       title:'提示',
       msg:'是否关闭本窗口',
       icon: Ext.MessageBox.QUESTION,
       buttons: {yes:i18n_saveButton,no:i18n_cancel},
       fn: function(option)
       {
       if(option=='yes')
       {
       t = true;
       curPanel.destroy();//调用销毁
       }else{
       tabPs.activate(curPanel);
       return false;
       }
       }
});
return false;
    });
    curPanel.on(
    'beforedestroy',function(tab){//在销毁对象前,判断用户是否要关闭窗口,好像在点击关闭按钮时,ext就异步开始销毁页面元素,所以不这样时,前面的Ext.Msg.alert()就显示不出来
    if(false == t){
    return false;
    }
    return true;
    }
    );
 
--------------------------------------------------------------------------------------------------

用Ext.TabPanel实现的table,如何实现关闭动作在鼠标mouseup时执行,而不是鼠标mousedown时执行? 

 
 

解法1:修改ExtJs中TabPanel的源代码。
1、在initEvents函数中增加如下语句:
this.strip.on('mouseup', this.onStripMouseUp, this);
2、增加mouseup事件对应的函数onStripMouseUp
onStripMouseUp : function(e){


 if(e.button != 0)
 {

     return;
 }
 e.preventDefault();
 var t = this.findTargets(e);
 if(t.close)
 {

     this.remove(t.item);
     return;
 }
},
3、修改mousedown事件对应的函数onStripMouseDown,去掉以下语句
if(t.close)
{

    this.remove(t.item);
    return;
}

解法2:自定义TabPanel,继承自Ext.TabPanel

var TabPanel = Ext.extend(Ext.TabPanel, {


       //给initEvents中增加关闭按钮的mouseup事件,以及关联事件对应的函数

      //增加mouseup事件对应的函数onStripMouseUp

      //重写mousedown事件对应的函数onStripMouseDown
  });

转载地址:http://mxnsi.baihongyu.com/

你可能感兴趣的文章
计算机网络-OSI各层概述
查看>>
Java--String/StringBuffer/StringBuilder区别
查看>>
分布式之redis复习精讲
查看>>
(python版)《剑指Offer》JZ01:二维数组中的查找
查看>>
(python版)《剑指Offer》JZ06:旋转数组的最小数字
查看>>
(python版)《剑指Offer》JZ13:调整数组顺序使奇数位于偶数前面
查看>>
(python版)《剑指Offer》JZ28:数组中出现次数超过一半的数字
查看>>
(python版)《剑指Offer》JZ30:连续子数组的最大和
查看>>
(python版)《剑指Offer》JZ02:替换空格
查看>>
使用JSTL
查看>>
Java 8新特性:Stream API
查看>>
管理用户状态——Cookie与Session
查看>>
最受欢迎的前端框架Bootstrap 入门
查看>>
JavaScript编程简介:DOM、AJAX与Chrome调试器
查看>>
通过Maven管理项目依赖
查看>>
通过Spring Boot三分钟创建Spring Web项目
查看>>
Spring的IoC(依赖注入)原理
查看>>
Java编程基础:static的用法
查看>>
Java编程基础:抽象类和接口
查看>>
Java编程基础:异常处理
查看>>