dtree+右键菜单 完美结合

dtree带漂亮的右键菜单 dtree树和菜单我都做好了,关键就是怎么在树结点上调用菜单. dtree树的URL已经设定,并传递相应的参数. 立即下载

 dtree + 右键菜单  (完美结合)

 

 

 

    实现原理:

        通过修改页面的右键菜单,来实现。

 

  实现步骤:

      

       1. 先引入dtree 需要的js , css ,图片 等资源;

       2. 在页面生成一个 dtree 树;

       3. 在页面上 自定义 一个右键菜单;     

       4. 在dtree 的 url  属性中:写入 [  javascript:函数名(参数名); ]  此处为,单击树要执行的JS;

       5. 此处调用的JS函数,主要 功能就是更改页面的右键菜单,让用户在选中的节点上,右键点击时,出现自定义的右键菜单;

       6. 再写一个 函数,来实现: 用户单击页面除了自定义右键菜单以外的地方,右键菜单消失,并且还原页面本来的右键菜单;(此处根据需要进行取舍)

 

  

 (代码为 asp.net 示例,如果是web开发其他语言,也可通过这种原理来轻松实现)

 

   

    <!--  先引入dtree 需要的js , css ,图片 等资源;-->

    <%--生成树样式--%>
    <link rel="Stylesheet" type="text/css"  href="dtree.css" />
     <%--生成树文件--%>
    <script type="text/javascript" src="dtree.js" ></script>s

   

 

 

   <script language="javascript" type="text/javascript">

       <!-- 在页面生成一个 dtree 树; -->

        tree = new dTree('tree');   
        tree.config.useStatusText=true;   
        tree.config.closeSameLevel=true;
        tree.config.useCookies = false;
        
        tree.add(0, -1, "Tree example", "javascript: loadMenu('abc');");
        tree.add(1, 0, "Node 1", "javascript:loadMenu();");
        tree.add(2, 1, "Node 2", "javascript:loadMenu();");
        tree.add(3, 1, "Node 3", "javascript:loadMenu();");
        tree.add(4, 0, "Node 4", "javascript:loadMenu();");
        tree.add(5, 4, "Node 5", "javascript:loadMenu();");
        tree.add(6, 4, "Node 6", "javascript:loadMenu();");
        tree.add(7, 2, "Node 7", "javascript:loadMenu();");
        tree.add(8, 6, "Node 8", "javascript:loadMenu();");
        tree.add(9, 1, "Node 9", "javascript:loadMenu();");
        tree.add(10, 2, "Node 10", "javascript:loadMenu();");
        document.write(tree); 
        

 

       <!-- 节点点击调用的JS函数,主要 功能就是更改页面的右键菜单,让用户在选中的节点上,右键点击时,出现自定义的右键菜单;-->

      
       //点击节点后,将右键菜单更改为自定义的菜单
       function loadMenu(obj) {
           //获取参数
           var param = obj;
           // ... 通过获取 参数 来,执行方法
           //............................
           //............................
           
           //重写 -- 页面点击右键菜单事件
           document.oncontextmenu = function() {
               //定位,显示
               contextmenu.style.posLeft = document.body.scrollLeft + event.x + 10;
               contextmenu.style.posTop = document.body.scrollTop + event.y + 10;
               contextmenu.style.display = "inline";
               return false;
            }
       }
       

 

 

      <!--  用户单击页面除了自定义右键菜单以外的地方,右键菜单消失,并且还原页面本来的右键菜单 的JS函数s -->
        
       //单击页面上除了菜单以外的地方,隐藏右键菜单
       document.onclick = function() {
           //判断单击的是否为右键菜单
           //如果不是,隐藏右键菜单
           if (document.activeElement != contextmenu) {

               contextmenu.style.display = "none"
               //还原页面本来的右键菜单
               document.oncontextmenu = '';
           }

       }


       //颜色变量
       var colorTemp = "";
  

   </script>

 

 

<!-- 页面布局中的自定义右键菜单 -->

 

 

   <!-- 右键菜单开始 -->   
        <div id="contextmenu"   align="center" style="border:1px solid #666666;background:#eeeeee; width:100px;padding:0px;display:none;position:absolute">
            <table style=" width:100px;  font-size:12px; border:dashed 1px black;  ">
                <tr>
                    <td id="modAttribute" onclick="javascript:alert('编辑');"  onmouseover="javascript:colorTemp=this.style.backgroundColor;this.style.backgroundColor='#98B4CE';" onmouseout="javascript:this.style.backgroundColor=colorTemp;" style="  background-color:#F5F5D1; height:15px; border-bottom:1px solid black;  " > <!-- 编辑事件 -->
                          
                          编辑
                       
                    </td>
                </tr>
                <tr>
                    <td id="modEvent" onclick="javascript:alert('删除');"  onmouseover="javascript:colorTemp=this.style.backgroundColor;this.style.backgroundColor='#98B4CE';" onmouseout="javascript:this.style.backgroundColor=colorTemp;" style="  background-color:#F5F5D1; height:15px; border-top:1px solid black;  " > <!-- 删除事件 -->
                       删除
                    </td>
                </tr>            
            </table>            
        </div>    
   
<!-- 右键菜单结束 -->

dtree+右键菜单(超级简单实现) web开发,中超级简单的 树形节点+右键菜单效果 (之前在网上也查了很多资料,但是,不是特别理想,所以自己是实现了一个简单易懂的方法,供大家参考) 立即下载

相关推荐

dTree+JQuery右键菜单(增删改)

由于项目需要,需要对DTree通过右键菜单进行增删查改,我根据网上的资料和自己的需求进行修改的,希望对大家有所帮助。

使用dtree构建动态树型菜单

dtree是一个免费的javascript脚本,只需定义有限的几个参数,就可以做出漂亮的树型菜单。下载目录:http://www.destroydrop.com/javascripts/tree/ 以下是dtree的用法示例: 1)初始化菜单     var Tree = new Array;  // nodeId | parentNodeId | nodeName | nodeUrl  Tree

小孩No乖的专栏 5215

dtree用法带右键菜单,带复选框

dtree用法带右键菜单,带复选框

dtree的扩展使用

       前段时间用了js的插件dtree,确实是比较好上手,但是遗憾的是没有多选框,网上也看到了关于多选框的扩展,但要么没有办法动态的删除和扩展节点,要么节点上下级的级联有问题,或者只支持两级菜单级联……本文主要是基于dtree的基本功能,实现了以下功能:        1、增加了多选框。        2、增加了多选框的级联操作,当点击当前多选框时,其下级(无限级)所有多选框状态与当...

qingqingdd1199的博客 237

layui树形菜单右键_layui树形菜单写的树形列表(treetable)

基于layui v2.2.5的 layui-tree写了一个treetable(树形列表)效果1.1 收起效果图 1.2 展开效果图 1.开发预备首先需要到layui官网https://www.layui.com/, 下载layui插件,在页面引入layui.js和layui.css2.页面元素添加expredable参数: 设置展示treetable时是否展开,默认为false;treetabl...

weixin_39661405的博客 455

dtree+右键菜单 完美结合,超级简单的实现方法

   dtree 这个 树控件,在WEB 开发中,使用的比较多,而且用起来比较方便,效果显示的也不错。但是在实际的开发中,往往不只是显示而已,要对树进行,增删改 操作。如果能有个右键菜单,那就好了,可是,dtree 并没有提供这个功能。   为了实现 dtree + 右键菜单的效果,我也是查阅了一些资料,有的实现起来比较麻烦,我就写了一个相对简单的方法,来实现这种效果。说了这么多,先看下效果吧。 dtree + 右键菜单  (完美结合)  图形界面,我没有去修饰,CSS 大家可以自定义来实现更好的效果。  

zjl5211314的专栏 5598

layui树形菜单右键_layui.dtree帮助手册

iconfont: 该参数为具体某个元素使用的字体样式集,默认是使用组件提供的dtreefont图标库中的图标组成的集合。在一切都默认的基础下,所有的图标都会从该图标库中取得,包括用户自定义的iconClass、自定义menubar、自定义toolbar。如需要扩展该属性,则设置的值必须将dtreefont放在第一个位置。dtree.render({iconfont: ["dtreefont", ...

weixin_42534100的博客 1399

web开发dtree+右键

dtree+右键菜单 完美结合,超级简单的实现方法 . 分类: web开发 .NET 技术 2011-05-31 15:00 648人阅读 评论(1) 收藏 举报    dtree 这个 树控件,在WEB 开发中,使用的比较多,而且用起来比较方便,效果显示的也不错。但是在实际的开发中,往往不只是显示而已,要对树进行,增删改 操作。如果能有个右键菜单,那就好了,可是,dtree 并没有提供这个

zmbc48的专栏 639

dTree:重新定义复杂数据关系的可视化解决方案

在数据可视化领域,树形结构的展示一直是技术挑战,特别是当涉及到多父节点、复杂家谱关系等场景时。dTree作为一款基于D3.js构建的开源库,专门解决了这一痛点,让复杂的数据关系变得直观易懂。 ## ✨ 项目亮点速览 **多父节点支持** - 突破传统树形结构的限制,完美展示家谱、组织架构等复杂关系 **交互体验卓越** - 支持节点点击、右键菜单、缩放控制等丰富的交互功能 **高度可定制*

gitblog_00922的博客 388

dTree终极指南:轻松构建多父节点树形图的完整解决方案

dTree是一个基于D3.js的开源库,专门用于可视化具有多个父节点的复杂树形结构,在家谱图、组织架构等场景中表现出色。这个免费工具让复杂的数据关系变得直观易懂,是数据可视化领域的实用利器。 ## 🚀 项目亮点速览 | 核心优势 | 具体功能 | 适用场景 | |---------|---------|---------| | 多父节点支持 | 处理复杂的多父节点关系 | 家谱可视化 | |

gitblog_01007的博客 770

dtree.js 树结构点击父节点异步加载子节点数据

由于此次项目开发框架使用layui,里面的树结构自然想到了使用dtree,功能需求是选择省份下的企业,由于企业数据达到上万家,一次性将所有的数据加载出来会造成页面卡顿,由此想到先加载行政区划再根据点击事件获取 ...

wan小小冰的博客 4575

dtree右键弹出事件,完整代码

dtree右键弹出事件,完整代码 整了好几天~~一直以为不能实现呢~~ 最后还是搞出来了~~开心呀

layui选项卡切换及右键的动态操作(新增、切换、删除)

要实现的效果:选项卡的新增以及切换、选项卡刷新、选项卡各种删除:删除其他、删除右侧所有、删除所有

honvin的博客 1万+

dtree右键菜单

<HTML><HEAD><TITLE></TITLE><META content="text/html; charset=gb2312" http-equiv=Content-Type><META content="MSHTML 5.00.2920.0" name=GENERATOR><script...

weixin_33923148的博客 168
上一篇: jsp连接数据库大全
lvwenxia
博客等级 码龄17年 3粉丝 1原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值