2014-03-07 40 views
0

我有一個編程dijit/DropDownMenu,它在初始加載時工作正常。每次客戶進入新年時,我都需要重新加載菜單。如果我正確理解了dijit文檔,那麼這裏的頂部IF語句應該完成銷燬舊菜單及其後代的工作,所有這些都在DIV中與id="clientDropdowns"一致。相反,我得到:需要銷燬dijit DropDownMenu,出現錯誤

Error: Object doesn't support property or method '_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

找到解決方法 - 通過補充dojo.empty()的伎倆

if (dijit.byId('clientDropdown')) { 
dijit.byId('clientDropdown').destroyRecursive(true); 
dojo.empty('clientDropdown'); 
}