function(Menu, MenuItem){
var pMenu = null;
pMenu = new Menu({
targetNodeIds: ["progmenu"]
});
pMenu.addChild(new MenuItem({
label: "Simple menu item",
onClick: function(){
pMenu.destroy();
}
}));
这会在div上创建上下文菜单,但我想在取消选中它时禁用上下文菜单,并在检查时再次对其进行enbale.can有人帮助我.. 我的html页面是..
<div id="progmenu" >
<input type="checkbox" /> click </div>
答案 0 :(得分:0)
dijit/Menu
本身无法禁用,但是,可以使用dijit/MenuItem
属性禁用每个disabled
。
因此,如果要禁用菜单,可以使用dijit/Menu::getChildren()
遍历所有菜单子项,然后设置属性。
要获取复选框的状态,请使用dojo/on
或dojo/query
向其添加onChange
事件处理程序,并使用event.target.checked
检查是否为query("#progmenu input[type=checkbox]").on("change", function(evt) { // On change
pMenu.getChildren().forEach(function(child) { // Loop over children
child.set('disabled', evt.target.checked); // Set disabled state
});
});
检查与否。
例如:
dojo/_base/array
可以在JSFiddle上找到演示:http://jsfiddle.net/659t7dfj/
小编,我使用Array.prototype.forEach()
循环浏览菜单项。如果您需要支持旧版浏览器,则必须切换到常规循环或使用Runtime.getRuntime().totalMemory() // amount of allocated memory in the app heap
Debug.getNativeHeapAllocatedSize() // amount of allocated memory in the native heap
实用程序模块。