我正在使用名为 collective.virtualtreecategories
的附加产品在 plone 中生成一棵树。但是,我不断收到奇怪的 javascript 错误,无法显示树。
在我的浏览器的错误控制台上,我得到以下信息:
$tree.tree is not a function
这是产生错误的代码部分:
$tree.tree({
data: {
type: "json",
url: "@@vtc-categories-tree.json",
async: false
},
lang: {
new_node: "New category"
},
rules: {
deletable: ["folder"],
renameable: ["folder"],
draggable: "none",
droppable: "none",
},
callback: {
beforechange: function(node, tree_obj) {
return before_change_node()
},
onselect: function(node, tree_obj) {
node_selected(node)
},
oncreate: function(node) {
jq(node).attr('rel', 'folder')
},
onrename: function(node, lang, tree_obj, rb) {
old_id = node.id // may be undefined (new node)
new_name = jq(node).children("a:visible").text();
// shared code. Server determines if creating/renaming by the old_name value
jq.ajax({
type: 'POST',
url: "vtc-category-added-renamed",
data: {
'category_path': selected_category(node),
'old_id': old_id,
'new_name': new_name
},
success: function(data) {
jq.jGrowl(data.msg, {
life: 1500
});
// set/change node id
if (data.result) {
node.id = data.new_id
}
},
dataType: 'json',
traditional: true
})
},
beforedelete: function(node, tree_obj) {
jq.ajax({
type: 'POST',
url: "vtc-category-removed",
data: {
'category_path': selected_category(node)
},
success: function(data) {
jq.jGrowl(data.msg, {
life: 3000
});
},
dataType: 'json',
traditional: true
});
return true;
}
}
});
可以找到完整的代码 list HERE
有人可以帮我解决这个问题吗?
更新: 我也许应该补充一点,这以前在不同的环境中是有效的。现在,我刚刚重新创建了项目,这就是我遇到此错误的时候。
最佳答案
据我从你的代码中可以看出 $tree
不是一个函数,它是一个元素
在第 89 行 var $tree = jq('ul#VTCTree');
因此我假设 .tree()
是一个 JQuery 小部件并且没有按预期工作?
刚刚看到一些评论和更新。您是否检查过树插件/小部件的路径/文件包含?
关于javascript - $tree.tree 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12709120/