EXTJS中树结构右击事件的问题,右键菜单只出现一次,什么原因,高手大侠们来看看

//树结构
function initTreepnl(){
    //建立树
        var tree=new Ext.tree.TreePanel( {
        el:Ext.get('tree-div'),
        id:'tree',
        autoScroll:true,
        border:0,height:500,
        lines:true,
        animate:true,
        enableDD:true,
        containerScroll: true,
        rootVisible:true,
        listeners: {
                'contextmenu':function(node,e){
                    node.select();
                    e.preventDefault();//关闭右键默认菜单
                    var nodemenu=new Ext.menu.Menu({
                    items:[{
                            text:'添加节点',
                            id:'addNode',
                            icon:'images/add.gif',
                            handler:function(){
                                    Ext.Msg.prompt('请输入新节点名称:','',function(e,text){
                                        if(e=="ok")
                                        {
                                            if(text==null||text=="")
                                            {
                                                Ext.Msg.alert('提示','添加失败!节点名不能为空!');
                                            }
                                            else
                                            {
                                                //执行添加
                                                Ext.Ajax.request({
                                                    url:'treeHandler.ashx?type=add&parentId='+node.parentNode.id+"&text="+text,
                                                    success:function(request)
                                                      {
                                                          var child=new Ext.tree.TreeNode({
                                                                    text:text,
                                                                    id:text
                                                                })
                                                          node.appendChild(child);
                                                          child.select();
                                                          subToGetInfo(child);
                                                          Ext.Msg.alert('执行结果:',"成功了!");
                                                          //tree.root.reload();//数据重新加载
                                                          //tree.root.expand(true,false);
                                                      },
                                                    failure:function(){
                                                          Ext.Msg.alert("执行结果:","失败了!");
                                                      }
                                                })
                                            }
                                        }
                                    })
                                }
                        },{
                            text:'删除节点',
                            id:'delNode',
                            icon:'images/delete.gif',
                            handler:function(){
                                Ext.Msg.confirm('提示:','确认删除?',function(btn){
                                    if(btn=="yes")
                                    {
                                        //执行删除
                                        Ext.Ajax.request({
                                                    url:'treeHandler.ashx?type=del&parentId='+node.parentNode.id+"&text="+node.attributes.text,
                                                    success:function(request)
                                                      {
                                                          node.remove();
                                                          Ext.Msg.alert('执行结果:',"成功了!");
                                                          //tree.root.reload();//数据重新加载
                                                          //tree.root.expand(true,false);
                                                      },
                                                    failure:function(){
                                                          Ext.Msg.alert("执行结果:","失败了!");
                                                      }
                                                })
                                    }
                                });
                            }
                        },{
                            text:'修改节点',
                            id:'editNode',
                            icon:'images/edit.gif',
                            handler:function(){
                                Ext.Msg.prompt('请输入修改后的节点名称:','',function(e,text){
                                        if(e=="ok")
                                        {
                                            if(text==null||text=="")
                                            {
                                                Ext.Msg.alert('提示','修改失败!节点名不能为空!');
                                            }
                                            else
                                            {
                                                //执行修改
                                                Ext.Ajax.request({
                                                    url:'treeHandler.ashx?type=edit&parentId='+node.parentNode.id+"&text="+text,
                                                    success:function(request)
                                                      {
                                                          node.setText(text);
                                                          subToGetInfo(node);
                                                          Ext.Msg.alert('执行结果:',"成功了!");
                                                          //tree.root.reload();//数据重新加载
                                                          //tree.root.expand(true,false);
                                                      },
                                                    failure:function(){
                                                          Ext.Msg.alert("执行结果:","失败了!");
                                                      }
                                                })
                                            }
                                        }
                                    })
                            }
                        }]
                     });
                     nodemenu.showAt(e.getPoint());
                }
            }
    });

    //建立根
     var root = new Ext.tree.TreeNode( {
        text: 'Ext JS',
        draggable:false,
        id:'root'
    });
    //设置根
    tree.setRootNode(root);
    tree.render();
 
    //增加子节点
    var baidu=new Ext.tree.TreeNode( {
        text:'baidu',
        id:'baidu'
    })
    var music=new Ext.tree.TreeNode( {
        text: 'music',
        id:'music'
    })
    var video=new Ext.tree.TreeNode( {
        text: 'video',
        id:'video'
    })
    var google=new Ext.tree.TreeNode( {
        text: 'Google',
        id:'google',
        cls:'folder'
    })
    var map=new Ext.tree.TreeNode( {
        text: 'map',
        id:'map'
    })
    var news=new Ext.tree.TreeNode( {
        text: 'news',
        id:'news'
    })
    root.appendChild(baidu);
    root.appendChild(google);
    baidu.appendChild(music);
    baidu.appendChild(video);
    google.appendChild(map);
    google.appendChild(news);
    //单击事件
    tree.on('click',function(node,e){
                                 e.stopEvent();
                                 if(!node.isExpandable())
                                 {
                                    //提交到页面处理
                                    subToGetInfo(node);
                                 }
                             }
                             )
    tree.expandAll();
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值