javascript - 克隆 dojo float Pane

标签 javascript dojo

我正在尝试克隆 float Pane 对象,如下所示。

var pFloatingPane = new dojox.layout.FloatingPane({
                    title: "A floating pane",
                    resizable: true,
                    dockable: true,
                    style: "position:absolute;top:0;left:0;width:136px !important;height:100px;visibility:visible;",
                    id: "pFloatingPane"
                }).placeAt(dojo.byId("gridContainer"));
var secondPane = dojo.clone(pFloatingPane);

但是当我使用chrome javscript调试工具进行调试时,出现以下错误。

Uncaught TypeError: Cannot read property 'id' of undefined

但是即使我在初始化时没有给出 id,它也可以与下面的一个一起正常工作。

 var topContentPane1 = new dijit.layout.ContentPane(
                  {
                        region: "top",
                        splitter: true,
                        minSize : 10,
                        maxSize : 84
                    },
                    document.createElement("div")
                );
var secondOne = dojo.clone(topContentPane1);

有人可以告诉我如何解决这个问题吗?提前致谢

最佳答案

我不确定克隆小部件是否受支持行为 1 。它们都必须有一个唯一的 ID(如果您自己没有通过 ID,则会生成一个 ID),我可以看到这会造成麻烦。也不能保证小部件不存在循环引用,并且 onClick 等事件可能会变得困惑。

是否有任何特殊原因需要克隆,从而阻止您仅使用简单的解决方案(例如将小部件创建封装在函数中)?

function make_pane(){
    new dijit.layout.ContentPane({
        //...
    });
}

var first = make_pane();
var second = make_pane();

关于javascript - 克隆 dojo float Pane ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7618823/

相关文章:

java - Dojo JSON 回调总是返回错误

slider - 在 Dojo 中以编程方式更新 slider

PHP/JS : How to implement dynamic breadcrumbs?(多窗口/选项卡兼容)

javascript - 用户键入时将输入值转换为货币格式

javascript - 语义 UI 动态下拉菜单

javascript - 在 Dojo 中,使用 this.own 更安全,还是 Attach-event 也安全?

javascript - 访问定义在不同文件中的javascript函数

javascript - node.js 从 http 请求列表中下载图像到服务器

javascript - 从浏览器下载 JSON 对象作为文件

javascript - 'temp' 中的未知列 'field list'