是否可以在实例化后为jstree添加更多选项?

时间:2014-09-16 14:11:46

标签: javascript jstree

我有一个页面,我正在使用jstree,我想知道是否可以在实例化后添加更多选项。在这种情况下,我想添加dnd插件,具体取决于用户是否已分配该角色。

这就是我实例化的方式:

$treeview.jstree({

    "core" : {
        "check_callback" : function (operation, node, node_parent, node_position) {
        }
        ,"multiple":false
    }
    ,"plugins" : [ "contextmenu","state" ]
    ,"dnd": {
        copy : false
    }
    ,"contextmenu": {"items": rewriteItems}
    ,"state": { "key":$treeview }

});

1 个答案:

答案 0 :(得分:2)

您必须添加jstree将要实例化时所需的插件,但是存在一种可以控制节点是否可拖动的方法。

您的代码如下所示:

var isDraggable = true;
$treeview.jstree({

    "core" : {
        "check_callback" : function (operation, node, node_parent, node_position) {
    }
        ,"multiple":false
    }
    ,"plugins" : [ "contextmenu","state","dnd" ]
    ,"dnd": {
        copy : false,
        is_draggable:function() { return isDraggable; }
    }
    ,"contextmenu": {"items": rewriteItems}
    ,"state": { "key":$treeview }

});

您需要创建一个布尔变量isDraggable,根据用户是否能够执行该操作,您将保持真/假。然后,当您运行代码时,如果用户无法拖动节点,则该值将为false,并且他将无法拖动它。