【发布时间】:2014-10-15 19:21:48
【问题描述】:
我有一个函数将 div 作为子项添加到 dijit/layout/conentpane。我遇到的问题是,在添加此 div 后,我无法使用 dom.byId 引用它:创建此 div 的函数是从菜单项的单击事件中调用的:
菜单项:
<div id="miLMWS" data-dojo-type="dijit/MenuItem" data-dojo-props="onClick:function(){SetPage('LMWS');}">Watershed</div>
onclick 函数(SetPage):
....
function (dom, parser, registry, ready, WatershedMap, OWOWMapGallery) {
window.SetPage = function (pg) {
//set the page depending on the menu item clicked
ClearWidget();//destroys previous widget deleting the div
AddToolDiv();//add the div
switch (pg) {
case 'LMWS':
var test = dom.byId("tool"); //this is undefined
//WS = new WatershedMap({}, "tool");
break;
}
};
...
addDivFunction:
function AddToolDiv() {
//add page div (node where template will be placed in
var tool = document.createElement("div");
tool.setAttribute("id", "tool");
var ContentContainer = registry.byId("MainContent");
ContentContainer.set("MainContent", tool);
var test = dom.byId("tool");//this is undefined
}
每次单击菜单项时,都会将新的自定义小部件加载到工具 div 中。 (有一个函数 ClearWidget 可以破坏旧的小部件和工具 div)我在想这可能与从 onClick 事件调用函数有关?当我在页面第一次加载测试变量时调用 AddToolDiv 时正确地引用了工具 div。任何帮助将不胜感激。
谢谢
【问题讨论】:
标签: javascript dojo