Я использую jsTree 3.0.0
и мне нужно изменить контекст, в одном из следующих способов:jsTree и Контекстное меню: изменять элементы
- Сменить язык этикетки для элементов по умолчанию, отключить некоторые элементы по умолчанию и добавить новый Предметы.
- Перепишите все элементы и привяжите к некоторым новым элементам функцию создания, переименования и удаления.
Я пробовал несколько подходов, но ничего не работало. Например, это возвращает Uncaught TypeError: Object [object global] has no method 'create'
, когда я нажимаю кнопку «Создать».
"contextmenu":{
"items": function($node) {
return {
createItem : {
"label" : "Create New Branch",
"action" : function(obj) { this.create(obj); alert(obj.text())},
"_class" : "class"
},
renameItem : {
"label" : "Rename Branch",
"action" : function(obj) { this.rename(obj);}
},
deleteItem : {
"label" : "Remove Branch",
"action" : function(obj) { this.remove(obj); }
}
};
}
},
Если я пытаюсь добавить один элемент, как в следующем примере, я освобождаю пунктов меню по умолчанию:
items : {
"create_folder" : {
"separator_before" : false,
"separator_after" : false,
"label" : "Create Folder",
"action" : function (obj) { alert(1); /* this is the tree, obj is the node */ }
}
}
Где я ошибаюсь?
Я хочу получить обновленные «данные» при любых модификациях. Как я мог достичь. ? –
при использовании вашего кода 'Uncaught TypeError: tree.create_node не является ошибкой функции для возникновения действия –
Скорее всего, вы забыли изменить« #tree »на идентификатор вашего дерева в html в этой строке: var tree = $ ("# tree"). jstree (true); –