【问题标题】:How to use jsTree in Express如何在 Express 中使用 jsTree
【发布时间】:2016-03-17 15:28:20
【问题描述】:

我在bower_components 中安装了jsTree(使用this post 中的指导线),我的玉模板看起来像这样-

doctype html
html
    head
        title= title
        script(src='/bower_components/jstree/dist/jstree.min.js')
        script(src='/bower_components/jquery/dist/jquery.min.js')
        link(rel='stylesheet', href='/stylesheets/style.css')
        link(rel='stylesheet', href='/bower_components/jstree/dist/themes/default/style.css')
        script(src='/javascripts/custom/mytree.js')
    body
        #mytreediv
            ul
                li First item
                li Second item

脚本mytree.js 是我编写的脚本,我用jsTree 初始化mytreediv div 元素。脚本是这样的 -

alert('Test1');
var myfunc = function () {
    alert('Test2');
    $('#mytreediv').jstree();
};
myfunc();

两个alert 框都出现了,所以我很确定脚本已正确链接到 HTML。但是,div 元素看起来并没有转换为 jsTree。

我在这里错过了什么?

【问题讨论】:

    标签: javascript node.js express jstree


    【解决方案1】:

    你必须等待DOM加载,否则jQuery将无法找到元素:

    $(document).ready(function () { 
        /* your code */ 
    })
    

    【讨论】:

    • 抱歉,这对我不起作用。我有与前面的代码相同的警告框;但现在,连警告框都没有出现。
    • 你还加载 jQuery 吗?它不在您提供的代码中。将其添加到 mytree.js 包含项之上。您的浏览器控制台上有输出吗?
    • 是的,你是对的——我没有加载 jQuery。我认为没有必要认为 jsTree 正在加载 jQuery。现在我将它加载到玉中,出现了警告框;但是 jsTree 的问题仍然存在。
    • 我让 jsTree 部分正常工作 - 问题是我在jade中加载 jsTree 和 jQuery 的顺序。 jQuery 必须先加载(现在我认为这是最合乎逻辑的做法,以允许 jsTree 使用 jQuery)。
    • 我正要建议!很高兴听到我能帮上忙。
    猜你喜欢
    • 1970-01-01
    • 2014-08-09
    • 1970-01-01
    • 1970-01-01
    • 2021-06-26
    • 2021-07-16
    • 1970-01-01
    • 1970-01-01
    • 2020-04-09
    相关资源
    最近更新 更多