ext树的右键菜单控制--去掉右键菜单

      工作需要,构建了一棵EXT JS的树,tree

      实际的需求是,有的节点需要右键菜单,有的节点不需要右键菜单,但是从网上找来的模板中所有的节点都会有右键菜单。

      具体右键菜单的代码如下:


contextmenu : function(node, e) {//右键点击节点,会运行的函数
			
			parent.tree.parentId.value = node.attributes.id;
			node.select();
			var c = node.getOwnerTree().contextMenu;
			c.removeAll();
			c.contextNode = node;
			c.showAt(e.getXY());

                if(node.attributes.TYPE=="xx"){
                c.add("menu1");
                } else {
                //不添加右键菜单
                }

                                                    }
 

      但是实际情况是按照以上的代码,就算是node的属性TYPE不是xx,右击过去,也会显出一个扁平的空框框,非常难看而且没有内容。


      经过对代码的作用的分析,知道右键菜单显示的控制主要是:c.showAt(e.getXY()); 这一句。这一句决定了无论c是否add了菜单项,都会show一个菜单容器出来在页面上。


      所以将c.showAt(e.getXY());这一句剪切到了 if(node.attributes.TYPE=="xx")中,就完成了对某些节点的右键菜单是否显示的控制。


      特此记录,以备大家有相同的需要。



                                                                                                  elemark

                                                                                        2010年11月9日11:11:39

                                                                                       http://elemark.iteye.com

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值