K646158013
2011-05-17 15:59 阅读 226

Extjs4.0 右键菜单创建问题。

我要给一个tree添加一个右键菜单。但是出现了几个问题。
Extjs4.0 树添加右键菜单 。
//创建一个上下文菜单
var rightClick = Ext.create('Ext.menu.Menu', {
id : 'rightClickCont',
floating : false,
plain : true,
items : [{
id : 'rMenu1',
text : '新建对象关系/对象',
handler : function() {
Ext.MessageBox.alert('Woring', '功能暂未开放...')
}

                    }, {
                        id : 'rMenu2',
                        text : '复制',
                        handler : function() {
                            Ext.MessageBox.alert('Woring', '功能暂未开放...')
                        }
                    }, {
                        id : 'rMenu3',
                        text : '打开',
                        handler : function() {
                            Ext.MessageBox.alert('Woring', '功能暂未开放...')
                        }
                    }, {
                        id : 'rMenu4',
                        text : '删除',
                        handler : function() {
                            Ext.MessageBox.alert('Woring', '功能暂未开放...')
                        }

                    }, {
                        id : 'rMenu4',
                        text : '修改',
                        handler : function() {
                            Ext.MessageBox.alert('Woring', '功能暂未开放...')
                        }

                    }, {
                        id : 'rMenu4',
                        text : '下移',
                        handler : function() {
                            Ext.MessageBox.alert('Woring', '功能暂未开放...')
                        }

                    }]
        });
// 需要添加菜单的菜单树
var menutree = Ext.create('Ext.tree.Panel', {
            width : '100%',
            height : 150,
            store : store,
            rootVisible : false,
            autoScroll : true,
            items : []
        });
// 创建一个树的上下文菜单函数

function rightClickFn(menutree, record, item, index, e) {
    e.preventDefault();
    e.stopEvent();

    //EXT3.0的出发显示菜单的事件是 。rightClick.show(e.getXY());
            //4.0 木有这个方法。只有showBy(),和show()
            //还有这几个参数有点不明白。
    rightClick.show();
}

//给树添加监听。
menutree.addListener('itemcontextmenu', rightClickFn, this);
代码应该木有错。
主要是树的右键时间触发方法好像不对。求解释。
有熟悉可以讲解一下吗。
麻烦了。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • 已采纳
    suziwen suziwen 2011-05-17 20:19

    把你的floating:false改成floating:true就可以了跟以前一样用了(showAt,showBy都可以,只是api只少添加了一个showAt)

    [code="js"]var rightClick = Ext.create('Ext.menu.Menu', {
    id : 'rightClickCont',
    floating : true, [/code]

    点赞 评论 复制链接分享

相关推荐