道场对话位置

时间:2011-09-12 16:57:29

标签: dojo

我有一个有dijit.Dialog的iFrame。由于这个iframe的宽度和高度都很小,我想知道是否可以以某种方式将此对话框放在父窗口中。 我试着这样做:

 var parent_pane = parent.dijit.byId("testpane"); //testpane is in the parent window
 dijit.byId("linkedResourcePopup").placeAt(parent_pane);
 dijit.byId("linkedResourcePopup").show();

这给了我一个关于firebug的javascript错误:

_16c.appendChild is not a function

这可能吗? 谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

您收到此错误是因为parent.dijit.byId("testpane").appendChild不是函数。

您需要将DOM节点传递给placeAt。您可以通过parent_pane.domNode访问父窗口小部件节点。

答案 1 :(得分:0)

placeAt根据以下内容接收domNode:

dojo.place(node, refNode, pos);

node:可以是String或DOM节点 refNode:可以是字符串(解释为DOM节点的id)或DOM节点。
pos:可选参数。可以是以下字符串中的数字或其中一个:“before”,“after”,“replace”,“only”,“first”或“last”。如果省略,则假定为“last”。

我认为你应该做的是:

 var parent_pane = parent.dijit.byId("testpane"); //testpane is in the parent window
 dijit.byId("linkedResourcePopup").placeAt(parent_pane.domNode);
 dijit.byId("linkedResourcePopup").show();
相关问题