2015-05-22 4 views
0

Я хочу создать элементы подменю всплывающего окна для подменю. Найдите скрипку: http://jsfiddle.net/nw9tU/353/. У меня есть меню и по щелчку, он показывает элементы подменю, когда я нажимаю на элемент подменю «Сохранить», он должен вывести другие 2 подменю, как «Сохранить ВСЕ» и «Сохранить AS». Пожалуйста, предложите, как я могу добавить элементы подменю всплывающего окна в элемент подменю.добавление пунктов подменю всплывающих окон в подменю

Вы можете найти код ниже:

require(["dijit/form/DropDownButton", "dijit/DropDownMenu", "dijit/MenuItem", "dojo/dom", "dojo/domReady!"], 
     function(DropDownButton, DropDownMenu, MenuItem, dom){ 
    var menu = new DropDownMenu({ style: "display: none;"}); 
    var menuItem1 = new MenuItem({ 
     label: "Save", 
     iconClass:"dijitEditorIcon dijitEditorIconSave", 
     onClick: function(){ alert('save'); } 
    }); 
    menu.addChild(menuItem1); 

    var menuItem2 = new MenuItem({ 
     label: "Cut", 
     iconClass:"dijitEditorIcon dijitEditorIconCut", 
     onClick: function(){ alert('cut'); } 
    }); 
    menu.addChild(menuItem2); 

    var button = new DropDownButton({ 
     iconClass:"dijitEditorIcon dijitEditorIconCut", 
     name: "programmatic2", 
     dropDown: menu, 
     id: "progButton" 
    }); 
    dom.byId("dropDownButtonContainer").appendChild(button.domNode); 
}); 

Я использую dropdownButton и DropDownMenu API, так как мне нужно, чтобы показать иконку для пункта меню вместо названия дисплея, как показано в приведенном выше скрипку.

ответ

1

Вы должны взглянуть на this, чтобы дать вам представление о том, какие инструменты вам понадобятся для создания всплывающего подменю.

В принципе, вам нужно создать Меню с MenuItems, а затем добавить всплывающее меню к исходному DropDownMenu. Смотрите код ниже:

var saveMenu = new Menu(); 
    var saveAllItem = new MenuItem({ 
     label: "Save All", 
     onClick: function() { 
      alert('save all'); 
     } 
    }); 
    var saveAsItem = new MenuItem({ 
     label: "Save As", 
     onClick: function() { 
      alert('save as'); 
     } 
    }); 
    saveMenu.addChild(saveAllItem); 
    saveMenu.addChild(saveAsItem); 
    menu.addChild(new PopupMenuItem({ 
     label: "Save", 
     iconClass: "dijitEditorIcon dijitEditorIconSave", 
     popup: saveMenu 
    })); 

И вы также можете увидеть обновленный скрипку здесь: http://jsfiddle.net/nw9tU/355/

Смежные вопросы