0
使用Dojo庫運行此代碼時出現widget is already registered錯誤。dojo小部件已經註冊
在控制檯中,我可以看到,有這個ID的窗口小部件,但我不能破壞它。
function layoutDialog2(data, taskBoard, idName)
{
var _idName = idName;
var _taskBoard = taskBoard;
var d = addDialog(); //dialog
var idD = d.get("id"); //random ID
var f = addNew(d, Form, {id: "f"+idD, style: "border: 1px solid red"});
var c = addNew(d, ContentPane, {id: "cp"+idD});
for (var i=0; i<7; i++)
{
var l1 = addNew2(f, "label", {style: "1px solid green"});
var span1 = addNew2(l1, "span", {innerHTML: "a"+i+": "});
var t1 = addNew(l1, TextBox, {name: "a"+i, value: data["a"+i]});
var br1 = addNew2(l1, "br", {});
}
var b1 = addNew(c, Button, {label: "Change", onClick: function() { change(); }});
var b2 = addNew(c, Button, {label: "DELETE", onClick: function() { deleteTask(); }});
function change()
{
console.log(_taskBoard);
_taskBoard.destroyRecursive();
console.log(_taskBoard);
var v1 = registry.byId("f"+idD); //get form value
var v1 = v1.get("value");
layoutTask(v1);
_taskBoard.destroyRecursive();
}
function deleteTask()
{
_taskBoard.destroyRecursive();
}
d.show();
}
你可以發佈整個錯誤,或者至少具體說明它說的是什麼'ID'註冊? 「我無法摧毀它」是什麼意思?你是否也遇到了另一個錯誤? – Default 2013-03-12 01:33:15
這發生在我身上,當我用各種'dojo/domReady!'和'dojo/ready'調用進行錯誤的操作時。確保你的解析和訪問是有序的。簡化,簡化,簡化,然後從那裏調試。 – Phix 2013-03-12 06:13:49
謝謝,但道場讓我生氣! – 2013-03-12 08:23:47