我有一个程序化的dijit / DropDownMenu,它在初始加载时工作正常。每次客户进入新的一年,我都需要重新加载菜单。如果我正确理解了dijit文档,那么这里的顶级IF语句应该完成破坏旧菜单及其后代的工作,所有这些都位于带有id="clientDropdowns"
的DIV中。相反,我得到了:
错误:对象不支持属性或方法'_subnodeCssMouseEvent'
当我将鼠标光标放在所谓的新菜单上时。由于该错误,我无法打开它。任何想法可能是这里的问题或可能的解决方法?非常感谢。
if (dijit.byId('clientDropdowns')) {
dijit.byId('clientDropdowns').destroyRecursive(true);
}
mymenu = new dijit.DropDownMenu({}, "clientDropdowns");
submenu = new dijit.DropDownMenu({});
popumenuitem = new dijit.PopupMenuItem({ label: "Select Program", popup: submenu });
...
mymenu.addChild(popumenuitem);
mymenu.startup();
答案 0 :(得分:0)
找到解决方法 - 通过dojo.empty()补充功能
if (dijit.byId('clientDropdown')) {
dijit.byId('clientDropdown').destroyRecursive(true);
dojo.empty('clientDropdown');
}