为EXT tree 树菜单添加右键菜单时出现重复菜单问题

     今天在做项目的时候用到树菜单。因为项目是用EXT 做的前端。而今天在为一个树菜单添加右键菜单的时候,发现连续点击后出现重复菜单选项

如图: 第一次点击,菜单正常:

 

第二次点击:出现两次添加网点的菜单。

纠结了一上午。才发现每次点击之后没有销毁菜单。所以每次进行点击之后在原先的基础上再添加了一次!

看代码:

  
 var root=new Ext.tree.AsyncTreeNode({ 
              id: '0',         
              text: '省会',           
              expanded: true       
               });	
			   
   var dTree = new Ext.tree.TreePanel({    
       id: 'myDynamicTree',         
       title: '区域', 
       border:false, 
       rootVisible : false,     
       autoWidth: true, 
       autoHeight: true,      
       collapsible: true,             
       autoScroll:true,       
       loader: new Ext.tree.TreeLoader({ 
                   dataUrl: "/Util/Tree.aspx"       
                   }),        
       root: root,  
       listeners: { 'click': function(node, e) 
        {                            
            store.setBaseParam('ID', node.id);
            store.load({
			            params: {
			             start: 0, 
			             limit: 20}
			          });         
         }       
         }   
        });
        
    //定义右键菜单
     
     dTree.on("contextmenu", rightclickFuntion);
    function rightclickFuntion(node, e)
     {
               e.preventDefault();
               rightClick = new Ext.menu.Menu({
               id :'rightClickCont',
               closeAction:'hide',
               items : [{
               id:'rMenu1',
               icon:'/Images/icons/add.png',
               text : '添加网点',
               //增加菜单点击事件
               handler:function(){
                     
                     Customer.show();
                     Ext.getCmp('Area').setValue(node.text);
                    }
        }]
     });
            rightClick.showAt(e.getXY())
            //以下进行销毁
             rightClick.on("beforehide",function(e){
                 this.destroy();        
               }); 
 }



 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值