/*总觉得 TabPanel 生成的那个关闭按钮太小
关闭的时候不太顺手 感觉不方便 所以想双击关闭tab方便些
于是在网上找到下面的代码 
URL:http://atian25.iteye.com/blog/413920
可是用在我的系统框架上无效,本人用的是ExtJs4.1。
不知道是不是我的问题,可是实在找不出错在哪里。
于是 自己想了个办法 亲测支持ExtJs4.1 
可能有点麻烦 可是没办法 上面那个方法 我实在是找不出问题在哪里
*///////////////////---下面是网上找的方法 本人无效------////////////////////

  1. var tabs = new Ext.TabPanel({
  2. renderTo: 'tabs1',
  3. width:450,
  4. activeTab: 0,
  5. frame:true,
  6. defaults:{autoHeight: true},
  7. items:[
  8. {contentEl:'script', title: 'Short Text'},
  9. {contentEl:'markup', title: 'Long Text'}
  10. ],
  11. initEvents : function(){
  12. Ext.TabPanel.superclass.initEvents.call(this);
  13. this.on('add', this.onAdd, this, {target: this});
  14. this.on('remove', this.onRemove, this, {target: this});
  15. this.mon(this.strip, 'mousedown', this.onStripMouseDown, this);
  16. this.mon(this.strip, 'contextmenu', this.onStripContextMenu, this);
  17. if(this.enableTabScroll){
  18. this.mon(this.strip, 'mousewheel', this.onWheel, this);
  19. }
  20. //ADD:monitor title dbclick
  21. this.mon(this.strip,'dblclick',this.onTitleDbClick,this);
  22. },
  23. //ADD: handler
  24. onTitleDbClick:function(e,target,o){
  25. var t = this.findTargets(e);
  26. if (t.item.fireEvent('beforeclose', t.item) !== false) {
  27. t.item.fireEvent('close', t.item);
  28. this.remove(t.item);
  29. }
  30. }
  31. });

-----下面是我的方法--------

有用到 Viewport 只贴出了 tabpanel的代码

  1. {
  2. xtype: "tabpanel",
  3. region: "center",
  4. id: "tabpanel",
  5. minTabWidth: 100,
  6. listeners: {
  7. 'tabchange': function () {
  8. }
  9. }
  10. }

我是动态生成tab的 所以就写成这样了 注意里面的代码 双击关闭就是这里面

  1. var CreateTab=function(id,title,url){
  2. var tabs = Ext.getCmp("tabpanel");
  3. for (var i = 0; i < tabs.items.length; i++) {
  4. if (tabs.items.items[i].title == title) {
  5. tabs.items.items[i].show();
  6. return;
  7. }
  8. }
  9. var NewTabPanel= Ext.create('Ext.panel.Panel', {
  10. layout: 'fit',
  11. title: title,
  12. collapsible: true,
  13. closable: id==0?false:true,
  14. autoScroll: false,
  15. initEvents: function () {
  16. var obj = this;
  17. var id = 'tab-' + (this.id.split('-')[1] - 1 + 2) + '-btnWrap';
  18. Ext.get(id).dom.ondblclick = function () {
  19. if(obj.title!='我的工作台')
  20. tabs.remove(obj);
  21. }
  22. },
  23. html: '<iframe name="mainframe" width="100%" height="100%" frameborder="0" src="'+url+'"></iframe>'
  24. });
  25. tabs.add(NewTabPanel).show();
  26. }
  1. //用下面的代码可以测试添加Tab
  2. CreateTab("0", "我的工作台", "MyHome.htm");
  3. CreateTab("1", "账户管理", "User.htm");

更多0

ExtJS4.1 ExtJS TabPanel 双击标签关闭该页的更多相关文章

  1. 15.extjs tabPanel的用法

    转自:https://blog.csdn.net/mezhaha/article/details/78878894 本文导读:TabPanel继承于Ext.Panel,Ext.TabPanel就是有选 ...

  2. Extjs TabPanel 选项卡延迟加载

    Extjs TabPanel 选项卡延迟加载 说明: Ext中用到tabpanel选项卡控件, 选项卡页签默认是延迟加载的, 当用户手工切换到某页签下时该页签才会加载, 在页签没有加载前, 用户对该页 ...

  3. 16. Ext.ux.TabCloseMenu插件的使用(TabPanel右键关闭菜单) 示例

    转自:https://crabdave.iteye.com/blog/327978 Ext.ux.TabCloseMenu插件的使用(TabPanel右键关闭菜单) 示例 效果: 创建调用的HTML: ...

  4. Bootstrap 基于Bootstrap和JQuery实现动态打开和关闭tab页

    基于Bootstrap和JQuery实现动态打开和关闭tab页   by:授客 QQ:1033553122 1.   测试环境 JQuery-3.2.1.min.j Bootstrap-3.3.7-d ...

  5. thickbox关闭子页后ajax局部刷新父页

    1. 首先注意需要调用thickbox的js <script type="text/javascript" src="<%=path%>/js/jque ...

  6. [DevExpress]XtraTabControl右键加入关闭当前页、关闭其它页、所有关闭的实现

    private void xtraTabControl_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButton ...

  7. JS强制关闭浏览器页签并且不提示关闭信息

    工作中很多奇葩的需求都会出现,现在就有一个问题,描述如下: 现在的登录跳转权限页面要去掉,集成在第三方系统信息上,当退出登录的时候需要关掉打开的Tab页面,因此考虑使用window.close()关闭 ...

  8. Extjs TabPanel页签转换事件

    listeners : { tabchange : function(tp, p) { var allmapDIV = document.getElementById("allmap&quo ...

  9. ExtJS4中设置tabpanel的tab高度问题

    最近碰到个问题,在ExtJS中应该如何设置tabpanel的tab的高度?因为默认情况下,tab的高度太矮了,以至于tab的标题底部字都被截掉.设置了个tabpanel.minHeight = ‘50 ...

随机推荐

  1. oracle客户端不需要配置tnsnames.ora文件直接连接服务器数据库

    在以前的oracle使用过程中,想要在客户端连接到服务器时,都是在客户端中的tnsnames.ora文件配置如以下内容: adb = (DESCRIPTION = (ADDRESS_LIST = (A ...

  2. 关于boost 的smart_ptr 的使用问题

    boost 的smart_ptr 库中含有好几种智能指针,大家用的最多的应该是shared_ptr ,为啥呢?好用,不用管他啥时候会自动删除等等,而且拷贝和复制都很到位, 但实际上,这个库也有问题,连 ...

  3. HDFS RAID实现方案(转)

    原文链接:http://blog.chinaunix.net/uid-20196318-id-3213700.html 分布式文件系统主要用于解决海量数据存储的问题,如Goolge.Facebook等 ...

  4. java基础16 捕获、抛出以、自定义异常和 finally 块(以及关键字:throw 、throws)

    1.异常的体系 /* ------|Throwable:所有异常和错误的超类 ----------|Error(错误):错误一般用于jvm或者硬件引发的问题,所以我们一般不会通过代码去处理错误的 -- ...

  5. 登陆记录utmp wtmp

    /var/log/wtmp文件的作用     /var/log/wtmp也是一个二进制文件,记录每个用户的登录次数和持续时间等信息.   查看方法:   可以用last命令输出当中内容: debian ...

  6. sicily 1154. Easy sort (tree sort& merge sort)

    Description You know sorting is very important. And this easy problem is: Given you an array with N ...

  7. n*m的矩阵,行和列都递增有序,求是否出现target元素(面试题)

    题目描述:给定一个n*m的矩阵,矩阵的每一行都是递增的,每一列也是递增的,给定一个元素target,问该target是否在矩阵中出现. 思路:先从最左下角的元素开始找,三种情况: 1. 如果该元素大于 ...

  8. php将长字符串拆分为指定最大宽度的字符串数组

    /** * 将字符串拆分为指定最大宽度的字符串数组.单字节字符宽度为1,多字节字符通常宽度为2 * @param string $msg 要拆分的字符串 * @param int $width 结果数 ...

  9. ubuntu sublime text 3 集成 nodejs 插件

    下载nodejs插件地址:https://github.com/tanepiper/SublimeText-Nodejs 解压重命名文件夹为Nodejs打开sublime text : prefere ...

  10. poj1321 棋盘问题(DFS)

    题目链接 http://poj.org/problem?id=1321 题意 给定一块棋盘(棋盘可能是不规则的),有k个相同棋子,将k个棋子摆放在棋盘上,使得任意两个棋子不同行,不同列,求有多少种不同 ...