我有以下代码:
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”方法来创建节点?感谢。
答案 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);
}
},
};
}