Dojo 设置dijit.MenuItem的图标
在这种情况下,我们在运行时只知道菜单项的图标。我知道Dojo 设置dijit.MenuItem的图标,dojo,Dojo,在这种情况下,我们在运行时只知道菜单项的图标。我知道diji.MenuItem有一个iconClass参数,但这没有什么帮助,除非我们在运行时使用dojox.html.insertcsrule动态添加CSS规则-一定有更好的方法 下面是我们正在尝试做的一个例子: pMenu = new dijit.Menu({ targetNodeIds: ["NEW_APP"], leftClickToOpen: true }); pMenu.popupDelay = 100; pMenu
diji.MenuItem
有一个iconClass
参数,但这没有什么帮助,除非我们在运行时使用dojox.html.insertcsrule
动态添加CSS规则-一定有更好的方法
下面是我们正在尝试做的一个例子:
pMenu = new dijit.Menu({
targetNodeIds: ["NEW_APP"],
leftClickToOpen: true
});
pMenu.popupDelay = 100;
pMenu.addChild(new dijit.PopupMenuItem({
label: "clocks",
iconSrc: "image/clocks.png",
onClick: dojo.hitch(core.editor, core.editor.createNewApp)
}));
当然,有一种更好的方法,虽然并不理想,比如:
myMenuItem.iconNode.style.cssText=
“背景图像:url(…);宽度:16px,高度:16px”;
对的引用适用于较旧版本的dojo。在较新的语法中,可以按如下方式定义类以执行相同的操作:
define("Foo/FooMenuItem", ['dojo', 'dijit/dijit', "dojo/_base/declare", "dijit/MenuItem"],
function(dojo, dijit, declare, MenuItem) {
return declare("Foo.FooMenuItem", [MenuItem], {
iconSrc: "unknown",
_setIconSrcAttr: {node: "iconNode", type: "attribute", attribute: "src" }
});
});
简单的Foo.FooMenuItem类可以在初始化该类时设置“icon”属性,并且该值集将被插入到icon的img src字段中。可以引用如下内容:
pMenu.addChild(new Foo.FooMenuItem ({
label: "clocks",
iconSrc: "image/clocks.png",
onClick: dojo.hitch(core.editor, core.editor.createNewApp)
}));