最近项目需要用到树形结构 从网上搜了下找到了dtree .但是应用的时候为了提高用户的可操作性要给dree加上右键.决定用jquery右键插件.
具体整合如下:
下载dtree 和右键插件
引用需要的js文件和css
<script type="text/javascript" src="js/ui/jquery-1.4.2.js"></script>
<script type="text/javascript" src="js/dtree.js"></script>
<script type="text/javascript" src="js/contextmenu/rightMenu.js"></script>
<script>
var $menuContent=[
{id:'r1',cls:'play',text:'增加'},
{id:'r2',text:'编辑',disable:false},
{id:'r3',cls:'stop',text:'删除'}
];
var $bindFuns={
$bindings:{
'r1':function(t){
if(type==""){}
},
'r2':function(t){
alert(t.attr("id"));
},
'r3':function(t){
alert(t.attr("id"));
}
}
}
var exam;
$(
function(){
$.ajax
(
{
url:"/sitebao62p/page_listPage.do?ajax=true&siteId="+siteId,
cache:false,
type:"POST",
dataType:"text",
success:function(data){
_pages = new dTree('_pages','../dtree/img'); //创建树形结构
_pages.config.useCookies=false;
_pages.config.useLines=true;
_pages.config.useIcons=true;
_pages.add(0,-1,'Root');
data=eval(""+data+"");
$.each(data,function(index,item){
_pages.add(""+item.id+"",""+item.pid+"",""+item.pageName+"","javascript:treeNodeClick("+item.id+")",'','','',false);
});
$("#leftTabPageDiv_1").html(_pages.toString()); //渲染树形结构
exam=$.createContextMenu($("#rightMenu"),138,$menuContent,$bindFuns); //产生右键菜单
exam.bindParent($("#leftTabPageDiv_1"),"c","l"); //绑定右键菜单
}
}
);
}
);
//点击树形结构时 ajax读取子节点
function treeNodeClick(id){
//页面管理树形结构
_pageId=id;
$.ajax
(
{
url:"/sitebao62p/page_getChildPageBypageId.do?pageId="+id,
type:"POST",
cache:false,
dataType:"text",
success:function(data){
data=eval("("+data+")");
$.each(data,function(index,item){
_pages.add(""+item.id+"",""+item.parentId+"",""+item.pageName+"","javascript:treeNodeClick("+item.id+")",'','','','',false);
});
$("#leftTabPageDiv_1").html(_pages.toString());
_pages.openAll();
}
}
);
}
}
}
</script>
<body>
<div id="rightMenu" style="border:1px; position: absolute;"></div> <!--作为右键菜单的载体-->
<div id='leftTabPageDiv_1'></div> //树形结构载体
我们还需要下dtree的dtree.js找到他的这一行 (dtree.js 140行)
str += '<a id="s' + this.obj + nodeId + '" class="' + ((this.config.useSelection) ? ((node._is ? 'nodeSel' : 'node')) : 'node') + '" href="' + node.url + '"';
改为:
str += '<a c="l" id="s' + this.obj + node.id + '" class="' + ((this.config.useSelection) ? ((node._is ? 'nodeSel' : 'node')) : 'node') + '" href="' + node.url + '"';
</body>
分享到:
相关推荐
在这个案例中,"dTree+JQuery右键菜单(增删改)"是一个结合了JavaScript库dTree和jQuery实现的功能增强,特别是针对树形结构数据的管理。dTree是一款轻量级的JavaScript库,用于创建交互式的树形菜单,而jQuery则是...
在实际应用中,dtree不仅可以静态地构建树结构,还可以通过Ajax动态加载节点,以实现更灵活的数据展示。同时,JavaScript右键菜单可以根据用户的权限和上下文提供个性化的操作,如编辑、删除、复制等。通过结合dtree...
开源的`dtree`允许开发者根据需要扩展功能,例如增加拖放操作、搜索功能或右键菜单等。社区中也可能存在现成的插件供直接使用。 总的来说,`dtree`作为一个简洁易用的JavaScript树形控件,为网页开发提供了便利。...
2. **可扩展性**:可以自定义节点图标、样式,甚至添加右键菜单,满足各种界面设计需求。 3. **事件处理**:dtree提供了丰富的事件回调函数,如点击、展开、折叠等,方便开发者根据用户行为进行响应。 4. **多级...
`dtree动态树+Javascript右键菜.txt`可能是关于如何添加右键菜单功能到dtree的说明或者代码示例。 2. **dhtmlxtree**: dhtmlxtree是DHTMLX Suite的一部分,是一个功能丰富的JavaScript组件,用于构建具有拖放、...
最后,这个例子中的"**dTree动态树+自定义右键**",意味着不仅实现了树形结构的动态加载,还提供了用户交互的增强功能,即右键菜单的自定义。这种自定义可能包括对特定节点的上下文操作,如编辑节点信息、移动节点...
2. **Ajax技术**:在后台服务器与前端交互时,Ajax是关键。它用于异步获取文件系统数据,如目录列表、文件内容等,确保用户界面不会因等待响应而冻结。 3. **拖放功能**:为了实现类似Windows资源管理器的交互体验...
【标签】:“js”表明此项目的核心技术是JavaScript,意味着所有实现的功能和组件都是通过JavaScript编写,这可能包括DOM操作、事件处理、AJAX异步通信等。JavaScript的使用使得这个框架能够实现在用户浏览器端动态...
8. **交互性**:为了提升用户体验,可以添加拖放功能,让用户自由调整节点的位置,或者通过右键菜单提供更多的操作选项,如添加、删除和编辑节点。 综上所述,实现DataTables的tree结构涉及多个方面,包括初始化...
- `jstree` 支持插件系统,例如,`checkbox`插件用于启用复选框,`contextmenu`插件提供右键上下文菜单,`types`插件允许为不同类型的节点设置不同的样式和行为。 5. **实际应用** - 在文件管理系统中,`jstree` ...
Java右键弹出菜单源码 简单 Java圆形按钮实例代码,含注释 两个目标文件,自绘button。 Java圆形电子时钟源代码 1个目标文件 内容索引:JAVA源码,系统相关,电子钟 用JAVA编写的指针式圆形电子钟,效果图如下所示...
Java右键弹出菜单源码 简单 Java圆形按钮实例代码,含注释 两个目标文件,自绘button。 Java圆形电子时钟源代码 1个目标文件 内容索引:JAVA源码,系统相关,电子钟 用JAVA编写的指针式圆形电子钟,效果图如下...
Java右键弹出菜单源码 简单 Java圆形按钮实例代码,含注释 两个目标文件,自绘button。 Java圆形电子时钟源代码 1个目标文件 内容索引:JAVA源码,系统相关,电子钟 用JAVA编写的指针式圆形电子钟,效果图如下...
Java右键弹出菜单源码 简单 Java圆形按钮实例代码,含注释 两个目标文件,自绘button。 Java圆形电子时钟源代码 1个目标文件 内容索引:JAVA源码,系统相关,电子钟 用JAVA编写的指针式圆形电子钟,效果图如下...
数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录 一个Java+ajax写的...
数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录 一个Java+ajax写的...