jstree - 如何获取实例?

时间:2014-01-13 11:06:36

标签: javascript jstree

我有以下代码:

model.tree = $('#container').jstree({
    'core': { 'data': r, 'check_callback': true },
    'plugins': ["themes", "json_data", "ui", "crrm", "contextmenu", "dnd", "types"],
    'contextmenu': {
            "select_node": "true",
            "items": function($node) {
                return {
                    create: {
                        'label': "Create",
                        'action': function(obj) {
                            this.create(obj); // this = Window
                            model.tree.create(obj); // model.tree doesnt contain "create" method
                        }
                    },
                };
            }
    },
});

我正在编写一个自定义处理程序,用于创建上下文菜单操作,如示例中所示,但我无法调用this.create,因为“this”是Window对象。另外,我尝试使用我的jstree实例来调用“create”,但它也不包含该方法 如何调用“create”方法来创建节点?感谢。

1 个答案:

答案 0 :(得分:4)

试试这个:

"items": function($node) {
    var tree = $("#container").jstree(true);
    return {
        create: {
            'label': "Create",
            'action': function(obj) {
                $node = tree.create_node($node);
                tree.edit($node);
            }
        },
    };
}