我看资料自己写了一段很简单的代码 可是怎么点右键不弹出我想要的对话框,只会显示IE默认的那个菜单!代码如下:看红色那段
<br> Ext.onReady(function() { <br> var Tree= Ext.tree;<br> var tree=new Tree.TreePanel({el:'tree-div'});//定义一棵树,准备在treediv上来显示<br> var root=new Ext.tree.TreeNode({text:'根节点'});//定义一个根节点!<br> tree.setRootNode(root);<br> tree.render();<br> [color=red]var contentMenu=new Ext.menu.Menu<br> ({<br> id:'contentMenu',<br> items:[{text:'单击',handler:function(){alert('被击中!');}}]<br> });<br> tree.on("contentMenu",function (node,e){<br> e.preventDefault();<br> node.select();<br> contentMenu.showAt(e.getXY());<br> });<br> })[/color]<br> 找不到原因 哎 谢谢大哥大姐!
[b]问题补充:[/b]
我把你的代码都弄上了 顺便再拔那个点左键直接修改名称的代码给我下 谢谢!太厉害了
[code="js"]
Ext.onReady(function() {
var tree = new Ext.tree.TreePanel({
title : 'My TreePanel',
root : new Ext.tree.AsyncTreeNode({
text : 'The Root',
children : [{
text : 'Child node 1',
leaf : true
}, {
text : 'Child node 2',
leaf : true
}]
}),
contextMenu : new Ext.menu.Menu({
items : [{
id : 'delete-node',
text : 'Delete Node'
}],
listeners : {
itemclick : function(item) {
switch (item.id) {
case 'delete-node' :
var n = item.parentMenu.contextNode;
if (n.parentNode) {
n.remove();
}
break;
}
}
}
}),
listeners : {
contextmenu : function(node, e) {
node.select();
var c = node.getOwnerTree().contextMenu;
c.contextNode = node;
c.showAt(e.getXY());
}
}
});
tree.render(document.body);
})
[/code]