软件简介
zTree 是利用 JQuery 的核心代码,实现一套能完成大部分常用功能的 Tree 插件。zTree v2.6 正式版对比 v2.6.beta 来说修改的地方不多,主要是修改了几个Bug。另外对于 check 功能做了一定完善,希望使用 checkbox 或 radio,但部分节点不显示 checkbox / radio 的朋友们,使用 v2.6 正式版可以很 easy 的实现了。
zTree v2.6 是 v2.x 系列的终结版,下一步将全力开发 v3.0,并且不会再保证向下兼容。如果发现重大 bug 会对 v2.6 进行修正,但不会再对其进行功能增加。
zTree功能与特点
-兼容 IE、FireFox、Chrome 等浏览器
-在一个页面内可同时生成多个 Tree 实例
-支持 JSON 数据
-支持一次性静态生成 和 Ajax 异步加载 两种方式
-支持多种事件响应及反馈
-支持 Tree 的节点移动、编辑、删除
-支持任意更换皮肤 / 个性化图标(依靠css)
-支持极其灵活的 checkbox 或 radio 选择功能
-简单的参数配置实现 灵活多变的功能
考虑到可能有朋友没有使用 v2.6.beta 下面把这次 v2.6 的全部修改内容公布出来:
* 【修正 v2.6 beta】使用 addHoverDom/removeHoverDom 方法添加自定义控件以后,会出现节点失去焦点,但自定义控件没有移除的 Bug
已解决,因为 onHoverOut 事件定义逻辑出现 Bug 导致
* 【修正 v2.6 beta】对于zTree大容器进行图层隐藏、显示切换时,IE浏览器下出现 未知的运行时错误。(Line:547)
已解决,利用 setTimeout 避免了与其他控件产生冲突
* 【修正 v2.6 beta】zTreeNodeCache 在反复 refresh 的时候会造成内存泄露
* 【修正 v2.6 beta】confirmRename 校验失败返回 false 后,利用 updateNode 恢复节点原先状态异常,无法选中其他节点的 Bug
* 【增加 v2.6 beta】nocheck 属性;实现节点自定义是否显示 checkbox/radio 的功能。
* 【增加 v2.6 beta】cancelInput 接口,允许通过 js 取消编辑状态。
* 【优化】大数据量一次性加载的效率问题
* 【优化】checkbox选择时父子关联的效率问题
* 【修改】支持jQuery 1.3.2 / jQuery 1.6 的问题
* 【修改】zTree js文件命名规范,符合jQuery插件的命名标准:jquery.ztree-2.6.js
* 【修改】expandNode 方法,增加 focus 参数(boolean),为保证向下兼容,默认展开时会聚焦到节点上,如果不需要聚焦请设置focus为false
* 【修改】在Constructor里以及refresh中,重新设置zTreeId = 0; 导致实现多个Tree时,treeId计数清零出现重复id的Bug
* 【修改】contextmenu/mousedown/mouseup 事件未unbind的bug,如果多次refresh就会出现异常。
* 【修改】编辑名称的状态下点击其他节点时,无法保存修改后名称的bug
* 【修改】IE浏览器节点重命名时,如果用鼠标全选中编辑内容并在当前Text控件之外释放左键,则浏览器会出现死机的bug
(这种特殊操作时,使用jQuery.parent()方法永远都能获取parent,从而造成死循环)
* 【修改】设置checkType: {"Y": "", "N":""} 后,checkAllNodes无法全部选中或取消的bug
* 【增加】setting.asyncDataFilter 属性;异步获取数据后,首先提供给用户进行加工,然后再反馈给zTree的进行添加
* 【增加】setting.dragCopy/dragMove属性,可以指定节点拖拽后是copy 还是move,如果这两个属性同时false,则Tree无法进行拖拽操作,如果同时为true,则按下Ctrl键拖拽时copy,否则move
* 【增加】treeNode.iconOpen/iconClose 属性,便于自定义文件夹图标在展开、折叠时更换
* 【增加】对zTree增加 beforeDblclick、dblclick 双击事件,供特殊使用,该事件与右键的 rightClick 使用方法类似。
* 【增加】confirmRename 事件回调函数,以提供修改名称的校验功能
* 【增加】confirmDragOpen事件,拖拽过程中 target 是父节点时,允许自行控制是否自动展开
* 【增加】inputNodeName 接口,让节点进入重命名状态
* 【增加】copyNode 接口,与 Move 功能类似,允许复制节点