如何在没有上下文菜单的情况下创建,重命名,删除和移动节点

时间:2010-09-08 15:34:03

标签: jstree

我需要为我的jstree创建一个动态上下文菜单,所以创建了我自己的,但我仍然需要创建,重命名,删除和移动功能。我让他们在内置的上下文菜单中工作,但似乎无法弄清楚如何手动执行它们。

任何人都知道怎么做?

2 个答案:

答案 0 :(得分:3)

查看crrm documentation

如果您希望在添加/编辑/删除后执行操作,则可能还需要应用bindings

写出每个绑定的完整规范及其需求可能会占用页面,因此最好是按照here的方式进行搜索并搜索所需内容 - 这非常有用。

注意 - 低于1.0的JSTree版本与版本1.0 +

非常不同

答案 1 :(得分:2)

//Create
function CreateChildNode() {

    var sel = $("#demo1").jstree("get_selected");
    $("#demo1").jstree("create", sel, "inside", { attr: { rel: "Decision" } });       
}

function AddSibling() {
        var sel = $("#demo1").jstree("get_selected");
        $("#demo1").jstree("create", sel, "after", { attr: { rel: "Decision" } });
    }

function MoveUp() {
    var sel = $("#demo1").jstree("get_selected");
    var prev = sel.prev();
    if (prev.length) {
        $("#demo1").jstree("move_node", sel, prev, "before");
    }

    /*
    var inst = $.jstree._focused(),
    slct = inst.get_selected().eq(0),
    prev = slct.prev();
    if (prev.length) inst.move_node(slct, prev, 'before');
    */
}

function MoveDown() {
    var sel = $("#demo1").jstree("get_selected");
    var next = sel.next();
    if (next.length) {
        $("#demo1").jstree("move_node", sel, next, "after");
    }
}

function Remove() {
    var sel = $("#demo1").jstree("get_selected");
    $("#demo1").jstree("remove", sel);
}


function Rename() {
    var sel = $("#demo1").jstree("get_selected");
    $("#demo1").jstree("remove", sel);
}