`
mr.lili
  • 浏览: 154315 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类

Ext.TabPanel右键关闭panel窗口: 在ext 的例子里有

阅读更多
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Advanced Tabs</title>
    <link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" />
<!-- LIBS -->
<script type="text/javascript" src="../../adapter/ext/ext-base.js"></script>
<!-- ENDLIBS -->
    <script type="text/javascript" src="../../ext-all.js"></script>
    <!--<link rel="stylesheet" type="text/css" href="tabs-example.css" />-->
    <script type="text/javascript" >
//src="../ux/TabCloseMenu.js"
Ext.ux.TabCloseMenu = function(){
    var tabs, menu, ctxItem;
    this.init = function(tp){
        tabs = tp;
        tabs.on('contextmenu', onContextMenu);
    };
    function onContextMenu(ts, item, e){
        if(!menu){ // create context menu on first right click
            menu = new Ext.menu.Menu({           
            items: [{
                id: tabs.id + '-close',
                text: 'Close Tab',
                handler : function(){
                    tabs.remove(ctxItem);
                }
            },{
                id: tabs.id + '-close-others',
                text: 'Close Other Tabs',
                handler : function(){
                    tabs.items.each(function(item){
                        if(item.closable && item != ctxItem){
                            tabs.remove(item);
                        }
                    });
                }
            }]});
        }
        ctxItem = item;
        var items = menu.items;
        items.get(tabs.id + '-close').setDisabled(!item.closable);
        var disableOthers = true;
        tabs.items.each(function(){
            if(this != item && this.closable){
                disableOthers = false;
                return false;
            }
        });
        items.get(tabs.id + '-close-others').setDisabled(disableOthers);
e.stopEvent();
        menu.showAt(e.getPoint());
    }
};
Ext.preg('tabclosemenu', Ext.ux.TabCloseMenu);
</script>
    <script type="text/javascript" >
Ext.onReady(function(){

    var tabs = new Ext.TabPanel({
        renderTo:'tabs',
        resizeTabs:true, // turn on tab resizing
        minTabWidth: 115,
        tabWidth:135,
        enableTabScroll:true,
        width:600,
        height:250,
        defaults: {autoScroll:true},
        plugins: new Ext.ux.TabCloseMenu()
    });

    // tab generation code
    var index = 0;
    while(index < 7){
        addTab();
    }
    function addTab(){
        tabs.add({
            title: 'New Tab ' + (++index),
            iconCls: 'tabs',
            html: 'Tab Body ' + (index) + '<br/><br/>',
                    //+ Ext.example.bogusMarkup,
            closable:true
        }).show();
    }

    new Ext.Button({
        text: 'Add Tab',
        handler: addTab,
        iconCls:'new-tab'
    }).render(document.body, 'tabs');
});

</script>

    <!-- Common Styles for the examples -->
    <link rel="stylesheet" type="text/css" href="../shared/examples.css" />
</head>
<body>
    <!--<script type="text/javascript" src="../shared/examples.js"></script> EXAMPLES -->
    <div id="tabs" style="margin:15px 0;"></div>
</body>
</html>
分享到:
评论

相关推荐

    extjs4.2.1 tabPanel刷新及关闭标签

    ### ExtJS 4.2.1 TabPanel 刷新与关闭标签功能详解 #### TabPanel 组件简介 在ExtJS框架中,`TabPanel`组件是一个非常实用且强大的UI控件,它允许用户在一个界面上组织多个相关的视图或面板,并通过标签页的形式...

    extjs4.x tabpanel 动态加载panel和html例子

    在EXTJS 4.x框架中,`tabpanel`是用于创建多标签界面的组件,它可以方便地组织和切换多个视图。动态加载panel和HTML到tabpanel是提高应用性能和用户体验的有效方式,因为它允许按需加载内容,减少初始页面加载时间。...

    ExtJs 学习笔记 Ext.Panle Ext.TabPanel Ext.Viewport第1/3页

    在上面的例子中,面板头部被添加了四个工具栏按钮,每个按钮都有自己的功能。其中"close"工具配置了一个处理器,当点击这个工具按钮时会触发一个警告框,告诉用户这是一个关闭按钮的事件。 除了Ext.Panel,ExtJs还...

    extJs xtype 类型

    6. **`panel`:** 面板组件,是ExtJS中最常用的容器之一,可以包含多个子组件,通过`Ext.Panel`类实现。 7. **`tabpanel`:** 选项卡面板组件,用于实现选项卡界面,通过`Ext.TabPanel`类实现。 8. **`treepanel`:**...

    Ext中的tabpanel关闭后再打开不显示的问题

    ### Ext中的tabpanel关闭后再打开不显示的问题 在Ext框架中,`TabPanel`是一个非常重要的组件,用于实现页面中的多标签页功能。然而,在实际应用过程中可能会遇到一个常见问题:当某个标签页被关闭后,如果尝试重新...

    Ext中TabPanel的动态页面加载

    在EXT JS这个强大的JavaScript库中,`TabPanel`是一个核心组件,用于实现多标签页界面。本篇文章将深入探讨如何在EXT JS的`TabPanel`中实现动态页面加载,这在构建可扩展且高效的Web应用时非常关键。通过动态加载,...

    ExtJs xtype一览

    - **`toolbar` (Ext.Toolbar)**: 工具栏组件,通常放置在窗口顶部或底部,包含一系列常用的操作按钮。 - **`tbbutton` (Ext.Toolbar.Button)**: 工具栏按钮组件,是工具栏内的单个按钮。 - **`tbfill` (Ext.Toolbar....

    Ext组件描述,各个组件含义

    **2.11 Tab Panel (Ext.TabPanel)** - **xtype**: `tabpanel` - **功能描述**:Tab Panel 是一个包含多个选项卡的容器。 - **主要用途**:用于展示多个相关的数据集或功能模块,每个选项卡代表一个不同的页面。 **...

    ExtJs GridPanel双击事件获得双击的行

    在ExtJs中,GridPanel是用于展示数据的常用组件,它可以提供丰富的功能,如排序、分页、筛选等。在实际应用中,我们经常需要监听用户的交互行为,比如双击行进行进一步的操作。本篇文章将深入讲解如何在ExtJs ...

    基于extjs的.NET3.5控件Coolite 1.0.0.34580(Preview预览版)

    &lt;ext:Panel runat="server" Title="Tab 1" /&gt; 55. Removed &lt;ext:Tab&gt; Control. Now any Ext.Net.PanelBase Component can be added to the TabPanel's .Items Collection. 56. XTemplate: renamed Text to ...

    ExtJS TabPanel beforeremove beforeclose使用说明

    然而,仅仅阻止`beforeremove`事件并不足以实现关闭确认对话框,因为TabPanel的Panel还有一个`beforeclose`事件,这是在Panel的关闭操作开始之前触发的。通常,我们会在`beforeclose`事件中弹出确认对话框,并根据...

    ExtJS4.2入门教程

    var panel = new Ext.TabPanel({ renderTo: Ext.getBody(), width: 300, height: 200, activeTab: 0, items: [ new Ext.Panel({ title: "面板1", height: 30, html: '面板1内容!' }), new Ext.Panel({ ...

    Extjs xtype集合

    - **`Class`**: `Ext.TabPanel` - **描述**: 选项卡面板,用于组织多个页面。 8. **`treepanel`:** - **`xtype`**: `treepanel` - **`Class`**: `Ext.tree.TreePanel` - **描述**: 树形结构的面板,用于展示...

    Extjs4.2 根据不同的数值设置tabpanel行的背景颜色

    var tabPanel = Ext.create('Ext.tab.Panel', { width: 600, height: 300, items: [ { title: 'Value Table', layout: 'fit', items: Ext.create('MyApp.view.MyGrid') } ] }).render(Ext.getBody()); })...

    Ext 学习总结 pdf版

    - **Ext.TabPanel篇**:`Ext.TabPanel`是一个容器组件,用于创建带有标签页的用户界面,可以在各个标签页之间切换显示不同的内容。 - **Function扩展篇**:这部分内容涉及对JavaScript原生函数的扩展,比如增加...

    Extjs帮助文档.pdf

    接下来将详细介绍文档中提到的几个核心概念,包括`Ext.MessageBox`、`Ext.Panel`、`Ext.Window`、`Ext.FormPanel`、`Ext.TabPanel`、`Ext.XTemplate`和`Ext.TreePanel`以及如何在Extjs中实现主题(换肤)功能。...

    老师整理的extjs学习笔记

    **4.3 Ext.TabPanel 应用例子** `Ext.TabPanel` 是一个选项卡面板组件,用于显示多个可切换的面板。下面是一个简单的 `Ext.TabPanel` 示例: ```javascript new Ext.TabPanel({ width: 400, height: 200, ...

    ExtJS3总结内容

    - `tabpanel`: `Ext.TabPanel` - `treepanel`: `Ext.tree.TreePanel` - `viewport`: `Ext.ViewPort` - `window`: `Ext.Window` - `toolbarcomponents`: `paging`, `toolbar`, `tbbutton`, `tbfill`, `tbitem`, `...

    Ext经典例子整合 快速上手必看

    这个"Ext经典例子整合 快速上手必看"的资源包提供了多个EXTJS组件的示例,帮助开发者快速掌握EXTJS的核心概念和用法。以下是对每个示例及其相关知识点的详细说明: 1. **Tree**: EXTJS中的TreePanel是用于展示...

Global site tag (gtag.js) - Google Analytics