ext2中可以改变 Menu的class ,比如不想要前面的竖线,修改方法:
Menu = function(){
return{
menuCreateEl: function(){
return new Ext.Layer({
cls: "x-treemenu",
shadow:this.shadow,
constrain: false,
parentEl: this.parentEl || document.body,
zindex:15000
});
}
}
}();
修改后,在调用Menu时加上
ctxMenu = new Ext.menu.Menu({
...
})
ctxMenu.createEl = Menu.menuCreateEl;
修改后,菜单功能失效,点击任何菜单项都没有任何反应,解决方法:
重写Ext.menu.MenuMgr类中的onMouseDown方法
将 e.getTarget(".x-treemenu") 中的class名改为之前定义的
if(lastShow.getElapsed() > 50 && active.length > 0 && !e.getTarget(".x-treemenu")){
hideAll();
}
本文介绍如何在Ext2中自定义菜单样式,例如移除默认的竖线,并修复自定义后菜单功能失效的问题。通过重写Ext.menu.MenuMgr类中的onMouseDown方法,确保使用自定义类名也能正常响应菜单交互。
1744

被折叠的 条评论
为什么被折叠?



