仿照例子粘贴代码搞了一个右键菜单 可是怎么我点击右键 没有任何反应 而且本身浏览器的默认右键菜单没有隐藏啊 代码如下:
Ext.onReady(
function(){
var tree=new Ext.tree.TreePanel({
el:'tree',
root : new Ext.tree.AsyncTreeNode({id:'-1',text:'广西电网公司'}),
loader : new Ext.tree.TreeLoader({dataUrl : '<%=request.getContextPath()%>/tree.do?ID=-1'})
});
//定义一个菜单
[color=red] new Ext.menu.Menu({
id:'contentMenu',
items:[{text:'我被单击啦',handler:function(){alert('我被单击啦。。啊');}}]
});[/color]
//将该菜单绑定到该树上
[color=red] tree.on('contentMenu',function(node,e){
e.preventDefault();//阻止浏览器默认右键菜单
node.select();//是该节点被选中状态
contentMenu.showAt(e.getXY());//获得鼠标的坐标
});[/color]
tree.render();
})
[quote] //定义一个菜单
new Ext.menu.Menu({
id:'contentMenu',
items:[{text:'我被单击啦',handler:function(){alert('我被单击啦。。啊');}}]
});
//将该菜单绑定到该树上
tree.on('[color=red]contentMenu[/color]',function(node,e){
e.preventDefault();//阻止浏览器默认右键菜单
node.select();//是该节点被选中状态
contentMenu.showAt(e.getXY());//获得鼠标的坐标 [/quote]
你代码里面红色写错了。。右键事件不是contentMenu,而是contextmenu
另外contentMenu.showAt(e.getXY());这个contentMenu是啥。。
要contentMenu =Ext.menu.Menu({ ..});
我之前弄的一个例子,给你参考一下。。
[code="java"]
Ext.onReady(function(){ var root =new Ext.tree.TreeNode({ id:'root', text:'根结点' }); var node1 =new Ext.tree.TreeNode({ id:'node1', text:'node1' }); var node11 =new Ext.tree.TreeNode({ id:'node11', text:'node11' }); node1.appendChild(node11); root.appendChild(node1); var tree =new Ext.tree.TreePanel({ renderTo:'tree', root:root, rootVisible:true, width:250 }); root.expand(true,true); tree.on('contextmenu',function(node,e){ treeMenu =new Ext.menu.Menu({ id:'menuId1', items : [ { id:'rMenu1', text : '菜单1', //增加菜单点击事件 handler:function (){ // alert('菜单1被点击了!'); } }, { id:'rMenu2', itemCls:'menu', text : '菜单2' }, { id:'rMenu3', overCls :'menu', text : '菜单3' }, new Ext.menu.Item({ id:'rightClick1', text:'右键1', href:'http://www.baidu.com', //hrefTarget:'http://www.baidu.com', handler:rightClick1(root,node) }), new Ext.menu.Item({ id:'rightClick2', text:'右键2', href:'http://www.baidu.com' //hrefTarget:'http://www.baidu.com', }) ] }); coords =e.getXY(); treeMenu.showAt([coords[0]+150,coords[1]+150]); },tree); }); var i=2; function rightClick1(root,node){ var node2 =new Ext.tree.TreeNode({ id:'node2', text:'node2' }); root.appendChild(node2); i++; }
[/code]