zTree 介绍

zTree

zTree 介绍

概述

    最近对 JQuery 进行了入门,一时兴起写了一个Tree插件,供大家学习和使用,毕竟是本人第一个公开的组件,肯定有许多问题和不足之处,请大家把发现的问题,或好的想法及时与我沟通,在这里特别要感谢 独上太行 的大力支持,架构方面给了我很多关键性的建议。

    同时欢迎利用此版制作其他发行版以方便广大 zTree 爱好者,转载请保留版权信息,谢谢。

下面介绍一下zTree 的主要功能:( 演示Demo 请访问 个人站点)

 1、兼容 IE、FireFox、Chrome 等浏览器

 2、在一个页面内可同时生成多个 Tree 实例

 3、支持 JSON 数据

 4、支持一次性静态生成 和 Ajax 异步加载 两种方式

 5、支持多种事件响应及反馈

 6、支持 Tree 的节点移动、编辑、删除

 7、支持极其灵活的 checkbox & radio 选择功能

 8、支持任意更换皮肤 / 个性化图标(依靠css)

 9、简单的参数配置 实现 灵活多变的功能

 

本手册由 Hunter.z 整理编辑,并保持长期更新,最新版本请从 zTree官网 或 个人站点  获取

zTree v2.6 更新记录

概述

 01、【优化】一次性加载大数据量的效率问题

 02、【优化】checkbox 选择时父子关联的效率问题

 03、【修改】支持jQuery 1.3.2 / jQuery 1.6 的问题

 04、【修改】zTree js文件命名规范,符合jQuery插件的命名标准:jquery.ztree-2.6.js

 05、【修改】expandNode 方法,增加 focus 参数(boolean),为保证向下兼容,默认展开时会聚焦到节点上,如果不需要聚焦请设置 focus 为 false

 06、【修改】在 constructor 里以及 refresh 中,重新设置zTreeId = 0; 导致实现多个Tree时,treeId 计数清零出现重复 id 的 Bug

 07、【修改】contextmenu/mousedown/mouseup 事件未 unbind 的 Bug,如果多次 refresh 就会出现异常

 08、【修改】编辑名称的状态下点击其他节点时,无法保存修改后名称的 Bug

 09、【修改】IE 浏览器节点重命名时,如果用鼠标全选中编辑内容并在当前 Text 控件之外释放左键,则浏览器会出现死机的 Bug   (这种特殊操作时,使用jQuery.parent()方法永远都能获取parent,从而造成死循环)

 10、【修改】设置 checkStyle: {"Y": "", "N":""} 后,checkAllNodes(checked)无法全部选中或取消的 Bug

 11、【增加】setting.asyncDataFilter 属性;异步获取数据后,首先提供给用户进行加工,然后再反馈给 zTree 的进行添加

 12、【增加】setting.dragCopy/dragMove 属性,可以指定节点拖拽后是copy 还是move,如果这两个属性同时false,则Tree无法进行拖拽操作,如果同时为true,则按下Ctrl键拖拽时copy,否则move

 13、【增加】treeNode.iconOpen/iconClose 属性,便于自定义文件夹图标在展开、折叠时更换

 14、【增加】beforeDblclickdblclick 双击事件,供特殊使用,该事件与右键的 rightClick 使用方法类似

 15、【增加】confirmRename 事件回调函数,以提供修改名称的校验功能

 16、【增加】confirmDragOpen 事件,拖拽过程中 target 是父节点时,允许自行控制是否自动展开

 17、【增加】inputNodeName(treeNode) 接口,让节点进入重命名状态

 18、【增加】copyNode(targetNode, treeNode, moveType) 接口,与 Move 功能类似,允许复制节点

 19、【修正 v2.6 beta】使用 addHoverDom/removeHoverDom 方法添加自定义控件以后,会出现节点失去焦点,但自定义控件没有移除的 Bug

 20、【修正 v2.6 beta】对于 zTree 大容器进行图层隐藏、显示切换时,IE浏览器下出现 未知的运行时错误。

 21、【修正 v2.6 beta】zTreeNodeCache 在反复 refresh() 的时候会造成内存泄露

 22、【修正 v2.6 beta】confirmRename 校验失败返回 false 后,利用 updateNode 恢复节点原先状态异常,无法选中其他节点的 Bug

 23、【增加 v2.6 beta】nocheck 属性;实现节点自定义是否显示 checkbox/radio 的功能。

 24、【增加 v2.6 beta】cancelInput(newName) 接口,允许通过 js 取消编辑状态。