K646158013 2011-05-17 15:59
浏览 233
已采纳

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 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]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题