dojo的TabContainer添加ContentPane假设closable,怎么不闭幕后予以销毁ContentPane

其主要思想是新的TabContainer的扩展类,重载其closeChild属性,使得其在关闭子容器时。不调用该子容器的destroyRecursive方法。

define([ "dojo/_base/declare", "dijit/layout/TabContainer"

], function(declare,TabContainer) {

return declare("comm.comm.ExTabContainer", TabContainer, {

closeChildAction:"destroy",

closeChild: function(/*dijit/_WidgetBase*/ page){

// summary:

// Callback when user clicks the [X] to remove a page.

// If onClose() returns true then remove and destroy the child.

// tags:

// private

var remove = page.onClose && page.onClose(this, page);

if(remove){

this.removeChild(page);

if (this.closeChildAction=="destroy"){

// makes sure we can clean up executeScripts in ContentPane onUnLoad

page.destroyRecursive();

}

}

}

});

});

然后创建TabContainer的方法例如以下:

var tc=new ExTabContainer({

style : "height: 100%; width: 100%;",

isLayoutContainer : true,

region : ‘center‘,

closeChildAction:"hide"

});

版权声明:本文博主原创文章,博客,未经同意不得转载。

时间: 2025-01-04 12:54:54

dojo的TabContainer添加ContentPane假设closable,怎么不闭幕后予以销毁ContentPane的相关文章

dojo的TabContainer中增加的ContentPane如果是closable,如何在关闭后不销毁ContentPane

主要思路是新建TabContainer的扩展类,重载其closeChild属性,使得其在关闭子容器时,不调用该子容器的destroyRecursive方法. define([ "dojo/_base/declare", "dijit/layout/TabContainer" ], function(declare,TabContainer) { return declare("comm.comm.ExTabContainer", TabConta

在CentOS 6.5里添加一块硬盘,分区并格式化后,挂载到/data下

常用命令: [[email protected] etc]# uname –a------à查看内核版本 Linux goodluck 2.6.32-431.el6.x86_64 #1 SMPFri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux [[email protected] etc]# cat /proc/version -----------à查看内核等版本信息 Linux version 2.6.32-431.el6.

codeblocks中cocos2dx项目添加新的.cpp和.h文件后编译运行的方法

新建了cocos2dx项目后(比如我这里建立的项目名为Test01),项目目录下有如下目录和文件: bin CMakeLists.txt MyGame.layout proj.win10 Classes cocos2d proj.android proj.win32 CMakeCache.txt lib proj.android-studio proj.win8.1-universal CMakeFiles Makefile proj.ios_mac Resources cmake_instal

SharePoint 自定义的列表页面中添加javascript的一个 For循环语句后,该页面就打不开了。

一个sharepoint 2013的普通的列表的自定义新建页面,我在其中新添加几行javascript代码后页面就打不开了.如图所示: 真是一言不合,友谊的页面说打不开就打不开啊.后来慢慢比对发现是因为Javascript中有一个For循环,当把这个for循环去掉,页面就可以正常打开,而当把for循环加上,页面直接就打不开了. 原因: 列表的自定义页面一般都是XSL格式的,for可能在里面是个比较特殊的关键字,所以就造成解析困难了. 解决方法: 1.可以用jquery的each方法代替for循环

Eclipse布局文件添加两个TextView,为什么运行后置显示一个

下面是布局文件里的代码,有两个TextView,但是为什么运行后只显示第一个TextView?? 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="match_parent" 4 a

手把手教你Dojo入门

如果仅仅是为了练习Dojo,或者进行测试,可以参考下面的步骤.下面的文件均是在Windows下测试 需要的工具 1 Tomcat服务器:下载地址 选择适合自己的机器型号,即可 2 Dojo的工具包:下载地址  由于dojo toolkit没有测试页面,所以推荐下载下面的那个SDK的 3 浏览器 博主使用的是chrome 接下来就可以配置文件了. 首先是Tomcat Tomcat,直接解压缩就可以了. bin文件夹下面有个startup.bat,双击就可以运行.双击shutdown.bat停止服务

dojo 框架页面引入iframe

dojo引入iframe页面,之前查了很多资料,说在ContentPane里面加入href参数,href后面跟上页面地址就可以了,页面虽然引进去了,但只是引入了文本,js代码还有数据请求都不能执行: 后来才知道直接在ContentPane里添加content内容就可以,原来如此简单: var gpane = new ContentPane({ region: 'center', content:"<iframe width='100%' height='100%' src='../demo

Dojo前端开发框架与jQuery前端开发框架,对比分析总结

最近Dojo和jQuery双双发布了最新的1.8版本,有着相同版本号的两个Javascript库也有许多核心的相同之处:相同的资源加载机制AMD.相同的选择器 引擎Sizzle等.作为业界知名的Javascript库,Dojo和jQuery在各自领域有着为数众多的拥护者.不过正所谓一把钥匙开一把锁,对一个项目来说肯定有个最适合它的工具库,用对了工具才能事半功倍.所以对项目经理或是技术总监来说,工程开始前的技术选型是关键一步,本文将对Dojo和 jQuery最新版本进行一个综合比较,重点在于区分两

ASP.NET MVC 5 - 给电影表和模型添加新字段

原文:ASP.NET MVC 5 - 给电影表和模型添加新字段 在本节中,您将使用Entity Framework Code First来实现模型类上的操作.从而使得这些操作和变更,可以应用到数据库中. 默认情况下,就像您在之前的教程中所作的那样,使用 Entity Framework Code First自动创建一个数据库,Code First为数据库所添加的表,将帮助您跟踪数据库是否和从它生成的模型类是同步的.如果他们不是同步的,Entity Framework将抛出一个错误.这非常方便的在