javascript - $tree.tree 不是函数

标签 javascript jquery plone

我正在使用名为 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/

相关文章:

Plone 的 portal_catalog(portal_type ="File") 没有返回我在 ZMI portal_catalog 页面中看到的所有对象

plone - 为什么覆盖 Plone 的 main_template.pt 是一个坏主意?

javascript - 如何从 javascript 中可能包含一个或多个图像的字符串中获取图像名称?

javascript - react Js : Set input value from sibling component

javascript - 来自 EventListener 的 ReactJS 事件不会更新 View

javascript - 用于防止输入任何与正则表达式不匹配的输入的 jquery 插件

javascript - 使用 Semantic-UI 的最低 JQuery 版本是多少

javascript - 如何在鼠标悬停时停止 jquery 图像 slider

jquery - jQuery 中的 .animate() 回调可以有一个步骤函数和一个普通函数吗?

python - 使用不包括根文件夹的 portal_catalog 在文件夹内执行搜索