Я пытаюсь добавить подменю в динамически создаваемое всплывающее меню, которое появляется при щелчке правой кнопкой мыши в любом месте окна браузера.Первый уровень построен нормально, но когда я пытаюсь добавить всплывающее окно к этим записям, пункты меню исчезают.
это объект, из которого я строю:
var snpshot = {
'Head':'',
'Subhead':'',
'Date':'',
'Url':'',
};
Этоэто код, сохраненный в моем событии onLoad, поэтому меню создается при запуске браузера:
часть, которая не работает, - это rclickItem.appendChild (mPopup) - это«что-то», но пункты меню, которые добавляются во всплывающем окне, становятся пустыми и сокращаются, хотя при наведении курсора на них кажется, что они все еще там.
onLoad: function() {
var mainPop = document.createElementNS(XUL_NS, "menupopup");
mainPop.setAttribute('id', 'rclickMenu_MenuPopupContainer');
//attach it to main rclick object
var mainRclick = document.getElementById("rclickMenu_Main");
mainRclick.appendChild(mainPop);
mainOverlay.createMainRclick(); //THIS WORKS
//add popups -- AS SOON AS THE POPUPS ARE ADDED THE ENTRIES DISAPPEAR!
mainOverlay.createPopUpMenus();
},
createMenuItem: function(lblToUse){
//create the XUL menuitem
var itemToAdd = document.createElementNS(XUL_NS, "menuitem");
itemToAdd.setAttribute('label',lblToUse);
itemToAdd.setAttribute('id','rclickMenu_'+lblToUse);
return itemToAdd;
},
createMenuPopup: function(idToUse){
var mPopup = document.createElementNS(XUL_NS, "menupopup");
mPopup.setAttribute('id','rclickMenuPopup_' + idToUse );
return mPopup;
},
createMainRclick: function(){
for (var property in snpshot){
var mItem = mainOverlay.createMenuItem( property );
var mainPop = document.getElementById("rclickMenu_MenuPopupContainer");
mainPop.appendChild(mItem);
}
},
createPopUpMenus: function(){
for (var property in snpshot){
var mPopup = mainOverlay.createMenuPopup( property );
var rclickItem = document.getElementById("rclickMenu_"+property);
rclickItem.appendChild(mPopup);
}
},
И XUL (это основнойвсплывающее окно, которое появляется при щелчке правой кнопкой мыши, с добавленным пунктом меню (который я динамически добавляю в js)
<menupopup id="contentAreaContextMenu">
<menu
id="rclickMenu_Main"
label="Main Section">
</menu>
</menupopup>