我正在尝试克隆浮动窗格对象,如下所示。
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);
可以请一些人告诉我如何解决这个问题。提前谢谢
答案 0 :(得分:0)
我不确定克隆小部件是否支持行为1。他们都必须有一个唯一的ID(如果你自己没有通过一个将生成一个),我可以看到造成麻烦。也没有保证小部件没有循环引用,并且onClick等事件可能会搞砸。
您是否有任何特殊原因希望克隆阻止您使用简单的解决方案,例如在功能中封装小部件创建?
function make_pane(){
new dijit.layout.ContentPane({
//...
});
}
var first = make_pane();
var second = make_pane();