EXT Menu改变Menu的Layer class之后菜单功能失败的解决办法

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();

       }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值