• 新手入门 - 都在这里
    • 下载 jsTree 或 使用 CDNJS
    • 包含 jsTree 主题
    • 创建一个容器
    • 引入 jQuery
    • 引入 jsTree
    • 创建一个实例
    • 监听事件
    • 在实例上操作
    • 所有代码

    新手入门 - 都在这里

    下载 jsTree 或 使用 CDNJS

    若选择下载,则所有所需的文件都在dist/目录下。

    包含 jsTree 主题

    支持自动加载主题,但为了性能考虑,建议包含主题的 CSS 文件。

    若自己管理 CSS 文件:

    1. <link rel="stylesheet" href="dist/themes/default/style.min.css" />

    若从 CDNJS加载文件:

    1. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.2.1/themes/default/style.min.css" />

    创建一个容器

    容器是一个放置树的地方,一个<div>就足够。
    此例子仅包含一个嵌套的<ul>,没有任何其他数据源。

    1. <div id="jstree_demo_div"></div>

    译注:这个例子貌似真没有<ul>,只有增加了下面这段 Js 才会默认生成一个空的<ul>

    1. $('#jstree_demo_div').jstree();

    引入 jQuery

    jsTree 要求 1.9.0 或以上版本的 jQuery,你可以使用一个 CDN 版本或引用本地的 js 文件。

    1. <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.1/jquery.min.js"></script>

    引入 jsTree

    若你自己管理 jsTree 的文件,对于线上生产项目请使用dist/jstree.min.js,对于开发项目请使用dist/jstree.js

    1. <script src="dist/jstree.min.js"></script>

    若使用 CDNJS:

    1. <script src="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.2.1/jstree.min.js"></script>

    创建一个实例

    当 DOM 就绪后,就可开始创建 jstree 实例。

    1. $(function () { $('#jstree_demo_div').jstree(); });

    监听事件

    当用户对树进行操作时,jsTree 通过事件告诉你发生了什么变化。
    在 jsTree 中绑定事件就像绑定一个普通的 click 事件那么简单。
    jsTree 提供的事件见API 页面

    1. $('#jstree_demo_div').on("changed.jstree", function (e, data) {
    2. console.log(data.selected);
    3. });

    在实例上操作

    一旦树创建完毕,你可对树进行一些操作。
    jsTree 提供的操作方法见API 页面

    下面 3 个例子的作用是一样的:

    1. $('button').on('click', function () {
    2. $('#jstree').jstree(true).select_node('child_node_1');
    3. $('#jstree').jstree('select_node', 'child_node_1');
    4. $.jstree.reference('#jstree').select_node('child_node_1');
    5. });

    所有代码

    1. <!DOCTYPE html>
    2. <html>
    3. <head>
    4. <meta charset="utf-8">
    5. <title>jsTree test</title>
    6. <!-- 2 load the theme CSS file -->
    7. <link rel="stylesheet" href="dist/themes/default/style.min.css" />
    8. </head>
    9. <body>
    10. <!-- 3 setup a container element -->
    11. <div id="jstree">
    12. <!-- in this example the tree is populated from inline HTML -->
    13. <ul>
    14. <li>Root node 1
    15. <ul>
    16. <li id="child_node_1">Child node 1</li>
    17. <li>Child node 2</li>
    18. </ul>
    19. </li>
    20. <li>Root node 2</li>
    21. </ul>
    22. </div>
    23. <button>demo button</button>
    24. <!-- 4 include the jQuery library -->
    25. <script src="dist/libs/jquery.js"></script>
    26. <!-- 5 include the minified jstree source -->
    27. <script src="dist/jstree.min.js"></script>
    28. <script>
    29. $(function () {
    30. // 6 create an instance when the DOM is ready
    31. $('#jstree').jstree();
    32. // 7 bind to events triggered on the tree
    33. $('#jstree').on("changed.jstree", function (e, data) {
    34. console.log(data.selected);
    35. });
    36. // 8 interact with the tree - either way is OK
    37. $('button').on('click', function () {
    38. $('#jstree').jstree(true).select_node('child_node_1');
    39. $('#jstree').jstree('select_node', 'child_node_1');
    40. $.jstree.reference('#jstree').select_node('child_node_1');
    41. });
    42. });
    43. </script>
    44. </body>
    45. </html>