首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >$tree.tree不是一个函数

$tree.tree不是一个函数
EN

Stack Overflow用户
提问于 2012-10-03 13:03:54
回答 3查看 4.2K关注 0票数 2

我正在使用一个名为collective.virtualtreecategories的附加产品在plone中生成一棵树。但是,我一直收到一个奇怪的javascript错误,无法显示树。

在浏览器的错误控制台上,我得到以下信息:

代码语言:javascript
复制
$tree.tree is not a function

下面是代码中产生错误的部分:

代码语言:javascript
复制
$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;
        }
    }
});​

完整的代码清单可以找到这里

有人能帮我解决这个问题吗?

更新:--也许我应该补充一下,这以前是在不同的设置下工作的。现在,我刚刚重新创建了这个项目,然后我就得到了这个错误。

EN

回答 3

Stack Overflow用户

发布于 2012-10-03 13:15:47

据我从您的代码中可以看出,$tree不是一个函数,它是第89行var $tree = jq('ul#VTCTree');中的一个元素

因此,我假设.tree()是一个JQuery小部件,不像预期的那样工作?

刚刚看到了一些评论和更新。您检查过树插件/小部件的路径/文件包含吗?

票数 0
EN

Stack Overflow用户

发布于 2012-10-03 13:36:32

在浏览器的错误控制台上,我得到以下信息:

如果您的浏览器是,则这里有额外的逗号

droppable: "none",

是一个众所周知的问题。

对于Firefox来说没有问题,但是会给出意想不到的结果,就像下面的数组中的3个元素。但长度=4

myArr = [1,2,3,,]

另外,检查这个https://stackoverflow.com/a/5139232/982924

票数 0
EN

Stack Overflow用户

发布于 2016-01-02 16:29:38

我也遇到了同样的问题,尽管我已经加载了jquery并加载了jquery.filetree.min插件。我错过了jquery,这也是必需的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12709120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档