问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

(JQuery)如何给JsTree生成的树的每个节点添加上自定义的右键菜单?

发布网友 发布时间:2022-04-26 12:43

我来回答

2个回答

热心网友 时间:2022-04-07 07:26

一个带有右键操作的树形菜单

$(document).ready(function(){
    $.ajaxSetup({cache:false});
    $("#browser").tree({
    data  : {
        type  : "json",
        url   : src,
        async : true,
        async_data : function (NODE) {
                                        return { parent_Id : $(NODE).attr("id") || 0}
                                     }
      },
      lang:{
           loading:"目录加载中……"
            },
      rules:
      {
      draggable   : "all"   //这个设置可以使得节点进行拖动操作
      },
      ui:{
           context     : [ //自定义右键操作的可操作内容
            {
                id      : "create",
                label   : "添加下级目录", //右键弹出菜单的此项操作屏显字样
                visible : function (NODE, TREE_OBJ) { if(NODE.length != 1) return false; return TREE_OBJ.check("creatable", NODE); }, //允许节点被右击时出现操作菜单
                icon    : "<%=request.getContextPath() %>/css/themes/default/create.png",//右键弹出菜单的此项操作图标
                action  : function (NODE, TREE_OBJ) {
                                                //进行此项操作,将有这个函数事件被响应
                                                     }
            },
            "separator"//这个是在两个操作之间画一条分隔线
           ,
            {
                id      : "edit",
                label   : "编辑目录信息",
                visible : function (NODE, TREE_OBJ) { if(NODE.length != 1) return false; return TREE_OBJ.check("creatable", NODE); },
                icon    : "<%=request.getContextPath() %>/image/reg2.gif",
                action  : function (NODE, TREE_OBJ) {
                                                    openWindow('myurl','','',function(){treeRefresh($(NODE).attr("id"));});
                                                    }
            },
            "separator"
            ,
            {
                id      : "privilege",
                label   : "设置目录权限",
                visible : function (NODE, TREE_OBJ) { if(NODE.length != 1) return false; return TREE_OBJ.check("creatable", NODE); },
                icon    : "<%=request.getContextPath() %>/css/themes/default/rename.png",
                action  : function (NODE, TREE_OBJ) {
                                                    openWindow('myurl','','',function(){treeRefresh($(NODE).attr("id"));});
                                                    }
            },
            "separator",
            {
                id      : "delete",
                label   : "删除",
                visible : function (NODE, TREE_OBJ) { if(NODE.length != 1) return false; return TREE_OBJ.check("creatable", NODE); },
                icon    : "<%=request.getContextPath() %>/css/themes/default/remove.png",
                action  : function (NODE, TREE_OBJ) {
                                                    var tree=$.tree_reference("browser");
                                                    openWindow('myurl','','',function(){
                                               //下边的.parent()和.refresh()均为v0.9.8版本提供,如果你使用的是其他版本如v0.9.6等,这些将不被支持。
                                                    NODE=$(tree.parent(NODE));
                                                    if($(NODE).attr("id")==undefined){
                                                        tree.refresh();
                                                    }else{
                                                        TreeRefresh();
                                                    }
                                                    });
                                                    }
            },
            "separator",
            {
                id      : "others",
                label   : "其他操作",
                visible : function (NODE, TREE_OBJ) { if(NODE.length != 1) return false; return TREE_OBJ.check("creatable", NODE); },
                icon    : "<%=request.getContextPath() %>/css/images/cut.png",
                action  : function (NODE, TREE_OBJ) {
                                                    alert("暂无可提供操作。");
                                                    }
            }
            ]
      },
   callback : {
         onselect: function(node) {
            //(a);
           
        }
    }
 
});
function treeRefresh(nodeid){
                     var rid=nodeid;
                    var tree=$.tree_reference("browser");
                    var par_node=tree.parent($("#"+rid));
                    tree.refresh(par_node);
}
});

热心网友 时间:2022-04-07 08:44

把xml写成一个字节流 然后获取之后读取这个流就可以获取数据了

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
甲状腺穿刺细胞病理学检查及分子检测实践分享 认识甲状腺的解剖结构 ...其中左侧中部一个大小约4.7*3.1mm,下部背侧一 甲状腺疾病 严不严重 这是什么病 拍抖音视频如何赚钱 未成年人出国旅游 可不可以不跟监护人一起? 急! 关于未成年人去香港的问题 未成年自己报旅行社去度假村可以吗? 未成年人去香港旅游要多交多少钱? 未成年人参加旅行社旅游需要监护人么? ie8用js获取页面上右键弹出菜单对象中刷新 求js 自定义右键菜单代码,只要在网页上右键弹出菜单就行 JavaScript中,如何才能去掉按钮的右键菜单? 提问:使用jstree和contextmenu,怎么右键点击树状图的节点出现新增菜单... 怎么用JQuery实现鼠标点击右键弹出一个可以操作的小菜单?急求解_百度... javascript中如何实现浏览器上的右键菜单 玉米面蒸饺怎么和面 白面和玉米面混一起半烫和面后还能做什么? 玉米面菜团子面团用烫面好,还是发面好 小米手环支付宝支付码拍照能付款吗 小米手环4支付宝付款码怎么用 红米k30至尊纪念版小米钱包付款码 小米微信付款码桌面快捷 小米手环5微信付款码 云闪付中的优惠劵在小米钱包怎么出示付款码 小米付款码在什么情况下可以用? 小米10怎么快速打开付款码 小米钱包付款码可以在哪些地方使用 现在朋友圈有很多人做微商卖东西 女朋友对做微商经营感兴趣,我该怎样鼓励和支持 JS+DIV实现自定义html右键菜单 js怎么实现在点击一个按钮后打开的另一个页面上点击右键实现是我自定义... jstree 1.0 如何去掉默认右键菜单中的 edit 子菜单 [高分]怎样用JS实现可接受参数的鼠标右键菜单? JS百度地图如何在覆盖物上添加右键菜单 ...右键菜单问题 一个div的任意位置点击出现右键菜单,如移动相应记录上... 印刷名片图片需要多少分辨率? 名片上的图片是印刷上的么? 印制名片大概一张多少钱?大概1000张 吃东西就吐是什么原因? 我想知道拿到印刷厂印名片的格式最好是什么格式? 一吃东西就肚子疼? 黄磊的赛螃蟹是怎么做的 向往的生活黄磊赛螃蟹做法 一吃东西就反胃是怎么回事? 一吃东西就胃痛,这是什么原因? 黄磊给孙红雷做的赛螃蟹,你会做吗 黄磊的赛螃蟹怎么做的 赛螃蟹的做法黄磊 好吃吗 黄磊做的赛螃蟹怎么做 怎么做的 向往的生活黄磊赛螃蟹做法视频