什么是jsTree?

jsTree 是一个jquery 插件, 提供交互式树.它是完全免费的,开源的,并根据MIT许可进行分发。jsTree易于扩展,可定义和配置,它支持HTML和JSON数据源以及AJAX加载。

jsTree可以在盒子模型(内容框或边框)中正常运行,可以作为AMD模块加载,并具有用于响应式设计的内置移动主题,可以轻松自定义。它使用jQuery的事件系统,因此对树中各种事件的绑定回调是熟悉且容易的。

仅有的一些功能值得注意:

  • 拖放支持
  • 键盘导航
  • 内联编辑,创建和删除
  • 三态复选框
  • 模糊搜索
  • 可定制的节点类型


Chrome 14+, Firefox 3.5+, Opera 12+, Safari 4+, IE8+
以上的旧版本可能可以运行,但未经测试


  下载

  • 根节点 1
    • 最初 选择
    • 自定义图标网址
    • 最初开放
      • 另一个节点
    • 自定义图标类 (bootstrap)
  • 根节点 2

监听事件

jsTree触发容器上的各种事件。您可以查看所有事件的列表以了解要听的内容。

要获取有关事件的更多信息,请检查其data参数。

在大多数情况下,涉及节点的情况下,您将传递整个节点对象。如果在某处获取ID字符串并想要检查该节点,则只需使用.get_node()。内部节点对象与用于加载的JSON格式非常相似,但是具有一些额外的属性,这可能很有用:children是节点的直接子节点的children_d所有ID的数组,是节点的所有子节点的ID的数组后代parent是节点父代的ID,并且parents是节点祖先的所有ID的数组。


$('#jstree')
  // 监听事件
  .on('changed.jstree', function (e, data) {
    var i, j, r = [];
    for(i = 0, j = data.selected.length; i < j; i++) {
      r.push(data.instance.get_node(data.selected[i]).text);
    }
    $('#event_result').html('Selected: ' + r.join(', '));
  })
  // 创建实例
  .jstree();
						
  • 根节点 1
    • 子节点 1
    • 子节点 2
  • 根节点 2
    • 子节点 3
    • 子节点 4
 
www.jstree.com.cn    jstree中文网    [英文站]