//树结构
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();
}
EXTJS中树结构右击事件的问题,右键菜单只出现一次,什么原因,高手大侠们来看看
最新推荐文章于 2016-09-21 18:04:27 发布