`
zTreeAPI
  • 浏览: 346494 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

zTree v3.0 beta Bug 汇总

阅读更多

    v3.0 改动很大,而且计划这次 从 beta 到 正式版至少需要1-2个月的时间进行沉淀,因为这期间一方面需要修正bug、增加适当功能。同时也在努力争取正式版时推出英文版的 Demo 和 API,所以专门开篇文章,用来发布 v3.0 beta 中已经发现的 bug 和解决方案,帮助这期间遇到 bug 的朋友解决问题。


    在发布正式版之前,查看 v3.0 beta 的改动计划以及 Bug 修正都在这篇博文中进行记录。

 

[最后修改日期 2012-01-04] ---- 已进入 最后测试阶段

 

---【增加】---

1、【增加】setting.check.autoCheckTrigger 默认值 false,可以设置联动选中时是否触发 onCheck 回调函数

    制作完毕,随v3.0正式版发布

 

2、【增加】setting.callback.beforeEditName 回调函数,以保证用户可以捕获点击编辑按钮的事件

    制作完毕,随v3.0正式版发布

 

3、【增加】treeNode.checkDisable 属性,显示 checkbox 但是用户无法修改 checkbox 状态,并且该checkbox 会影响父节点的 checkbox 的半选状态

    制作 完毕,随v3.0正式版发布

 

4、【增加】setting.check.nocheckInherit 属性,用户设置子节点继承 nocheck 属性,用于批量初始化节点,不适用于已经显示的节点

    制作 完毕,随v3.0正式版发布

 

5、【增加】setting.edit.drag.autoExpandTrigger 默认值 false,可以设置自动展开、折叠操作时是否触发 onExpand 回调函数

    制作 完毕,随v3.0正式版发布

 

6、【增加】setting.view.nameIsHTML 默认值 false,允许用户对 name 设置 DOM 对象

    制作 完毕,随v3.0正式版发布

 

7、【增加】类似于Ext.tree.TreeFilter类, 可以实现树节点的过滤,隐藏不匹配过滤条件的节点

由于时间原因,此功能等正式版发布后,制作 zTree 扩展工具时一起开发。

 

8、【增加】treeNode.click 属性的说明文档!
    制作 完毕,随v3.0正式版发布

9、【增加】treeObj.setChkDisabled 方法用于设置 checkbox / radio disabled 状态

    制作完毕,随v3.0正式版发布


10、【增加】treeNode.halfCheck 属性,用于强制设定节点的半选状态
    制作完毕,随v3.0正式版发布

---【修改】---

1、【修改】异步加载 & 编辑功能 共存时,拖拽节点 或 增加节点 导致 ie 上报错的 bug (apply 方法引起)

    解决方案:将 jquery.ztree.core-3.0.js 文件中 Line 682 的 return fun.apply(zt, param);  修改为 return fun.apply(zt, param?param:[]);

 

2、【修改】zTreeStyle 样式冲突

    解决方案:将 zTreeStyle 的第 82 行 ul.zTreeDragUL 修改为  ul.ztree.zTreeDragUL,并且将该行的 overflow:auto; 修改为 overflow:hidden;

 

3、【修改】setting.data.key.title 默认值设置为 "",初始化时自动赋值为 setting.data.key.name 这样可避免希望 title 与 name 一致的用户反复设置参数

    修正完毕,随v3.0正式版发布

 

4、【修改】点击叶子节点的连接线会触发 expand 事件的 bug

    修正完毕,随v3.0正式版发布

 

5、【修改】IE 下 点击叶子节点连线会出现虚线框的 bug

    修正完毕,随v3.0正式版发布

 

6、【修改】updateNode 导致 checkbox 半选状态错误的 bug

    解决方案:将 jquery.ztree.excheck-3.0.js 文件中 Line 470 的 if (node.nocheck !== true) { 修改为 if (node.nocheck !== true && node[childsKey] && node[childsKey].length > 0) {

     原解决方案会引起勾选关联的错误,正确解决方案:

     (1) 保留 Line 470 的 if (node.nocheck !== true) {

     (2) 将 Line 472 的 node.check_Child_State = value ? 2 : 0; 修改为 node.check_Child_State = (node[childsKey] && node[childsKey].length > 0) ? (value ? 2 : 0) : -1;

 

7、【修改】checkNode 方法实现 toggle 功能, 取消 expandAll 方法 toggle 功能

    修正完毕,随v3.0正式版发布

 

8、【修改】zTree 内鼠标移动会抢页面上 input 内的焦点的 bug

 

    解决方案:请将 jquery.ztree.core-3.0.js 中 621行 的 if (x) { 修改为  if (x && $("input:focus").length == 0) { 

    以上解决方案会导致 IE6 下编辑模式出现异常 (因此需要用 try catch 将 这个 if 段落包起来)。

 

9、【修改】beforeRename / onRename 的触发方式——即使名称内容未改变也会触发,便于用户配合 beforeEditName 捕获编辑状态的结束,赋予用户更多调整规则的权利

    修正完毕,随v3.0正式版发布

 

10、【修改】与 easyUI 共存时无法拖拽的 bug

    解决方案:请将 Line 442左右的 if (settings[s].edit.enable && settings[s].treeId != setting.treeId 替换为 if (settings[s].treeId && settings[s].edit.enable && settings[s].treeId != setting.treeId

 

11、【修改】beforeRename 在 Firefox 下如果利用 alert,会触发两次的 bug

    修正完毕,随v3.0正式版发布

    补充:重新修正了一下,beforeName如果return false,将不会强行让input 获取焦点,这样可以避免blur导致的反复验证。 同时使用editName 方法可以主动设置 input 获取焦点,便于控制

 

12、【修改】checkNode/expandNode/removeNode 方法,默认不触发回调函数,恢复 v2.6 的默认状态,同时增加 callbackFlag 参数,设置为 true 时,可以触发回调函数

    修正完毕,随v3.0正式版发布

 

13、【修改】IE9下“根据参数查找节点”的Demo 报错:行14 重新声明常量属性

    修正完毕,随v3.0正式版发布(Demo自身问题,无意间定义了变量名为 history 导致!)

 

14、【修改】初始化 zTree 时 onNodeCreated 事件回调函数中无法 用 getZTreeObj 获取 zTree 对象的 bug

    修正完毕,随v3.0正式版发布

 

15、【修改】setting.edit.drag.prev / next / inner 参数,增加被拖拽的节点集合

    修正完毕,随v3.0正式版发布

 

16、【修改】异步加载模式下,otherParam 使用 Array 数组会出错的 bug。例如: ["id", "1", "name", "test"]

   解决方案1:请先使用 JSON 数据进行设置,不要使用 Array 数组

   解决方案2:请将 core 的 js 代码中 asyncParamOther 替换为 async.otherParam 即可

 

17、【修改】FireFox 下多棵树之间无法正常拖拽的 bug

    修正完毕,随v3.0正式版发布

 

18、【修改】exedit 中调用 excheck库的方法时没有进行容错处理,导致如果只加入 exedit 而没有 excheck的时候,会出现 js 错误

    修正完毕,随v3.0正式版发布

 

19、【修改】显示 checkbox 的 zTree 在编辑模式下,移动节点不会更新父节点半选状态的 bug

    修正完毕,随v3.0正式版发布

 

20、【修改】treeNode.childs --> children; treeObject.removeChilds --> removeChildNodes; setting.data.key.childs --> children(英文不好惹的祸!抱歉了!)

    修正完毕,随v3.0正式版发布

 

21、【修改】onRemove 回调中得到的 treeNode 还可以查找 preNode、nextNode 的bug。 修正后,getPreNode 和 getNextNode 都返回 null; 为了便于查找父节点,getParentNode 仍保留

    修正完毕,随v3.0正式版发布

 

22、【修改】简单数据模式下,如果 id 与 pId 的值相同会导致该节点无法正常加载的 bug

    修正完毕,随v3.0正式版发布

 

23、【修改】移动或删除中间节点会导致最后一个节点连接线图标变小的 bug

 

    修正完毕,随v3.0正式版发布

 

18
4
分享到:
评论
222 楼 奶油花生 2014-09-11  
您好。我打算用这个ztree和velocity整合。。。。可是我不会用onclick事件。
function onClick(e,treeId, node,clickFlag) {
alert("dd");
}
官方文档这里是希望弹出tips 
我希望 onclick时候 能 跳到  /createUser  这样的action怎么做呢。。。。
221 楼 hxcy001 2012-02-20  
zTreeAPI 写道
hxcy001 写道
zTreeAPI 写道
hxcy001 写道
在编辑状态,如果节点名超过编辑框宽度,左右键在框内不起作用。请问怎么解决?

你是说input 输入框内左右键不起作用吗?? 我刚看了一下没问题呀,是不是你有其他的东西在干扰?


可能我没表述清楚。左右键在框内可以移动,但是移到头和尾,就不起作用了,正常情况,如果文字超出框的长度,文字会移动。

我试了好几台电脑,IE6、7、8和360都试过。

非常感谢,在ie下的确有这种问题,我已经记录下来,修正后将跟随 v3.1 一起发布



新版本已更正。  
220 楼 zTreeAPI 2012-02-10  
hero5460 写道


zTreeAPI 写道
不太清楚你的细节需求,但感觉利用 zTree 提供的各种方法以及 callback 组合起来,编写自己的规则,应该是可以很容易实现的。



现在主要是不知道用什么方式来实现?有可能是我表达的不是很清楚,是这样的,左边是字典的树机构的信息,右边是字典的列表信息,在列表中经常会有增加,删除的功能,我想要的功能就是当我在列表中删除某个字典数据时,能够在左边的字典树中异步的也相应的删除掉。如果只对字典树结构操作,知道可以使用 var srcNode=zTree.getSelectedNode(),zTree.remove(srcNode)这种方式来实现,但是现在是分开的2个部份(一个是树,一个是列表),我在列表中删掉,根本不会去取得当前选择的节点,那如何在树中异步的删掉呢?(我现在删掉列表中的值后,去刷新整个页面,有没有其他异步的方式呢)?不知道我这次表达是否清晰,谢谢


1、zTree 提供 getNodeByParam、getNodesByParam、getNodesByParamFuzzy 这3个搜索方法,你可以针对删除内容的特征去搜索到需要删除的节点,并使用 remove方法进行处理。

2、zTree 提供 reAsyncChildNodes 方法可以让zTree 全部重新异步加载 或 指定某个父节点重新异步加载。

总之应该是不需要你去强行刷新整个页面来实现的。 如有疑问,请继续沟通。
219 楼 hero5460 2012-02-09  


zTreeAPI 写道
不太清楚你的细节需求,但感觉利用 zTree 提供的各种方法以及 callback 组合起来,编写自己的规则,应该是可以很容易实现的。



现在主要是不知道用什么方式来实现?有可能是我表达的不是很清楚,是这样的,左边是字典的树机构的信息,右边是字典的列表信息,在列表中经常会有增加,删除的功能,我想要的功能就是当我在列表中删除某个字典数据时,能够在左边的字典树中异步的也相应的删除掉。如果只对字典树结构操作,知道可以使用 var srcNode=zTree.getSelectedNode(),zTree.remove(srcNode)这种方式来实现,但是现在是分开的2个部份(一个是树,一个是列表),我在列表中删掉,根本不会去取得当前选择的节点,那如何在树中异步的删掉呢?(我现在删掉列表中的值后,去刷新整个页面,有没有其他异步的方式呢)?不知道我这次表达是否清晰,谢谢
218 楼 zTreeAPI 2012-02-06  
laimuc 写道
我的怎么报了这个错误

syntax error
[在此错误处中断]

var zTree = .fn;

zookeeperInfo.htm (第 104 行,第 15 列)


var zTree = .fn; 这是什么??
217 楼 laimuc 2012-02-06  
我的怎么报了这个错误

syntax error
[在此错误处中断]

var zTree = .fn;

zookeeperInfo.htm (第 104 行,第 15 列)

216 楼 zTreeAPI 2012-01-17  
hxcy001 写道
zTreeAPI 写道
hxcy001 写道
在编辑状态,如果节点名超过编辑框宽度,左右键在框内不起作用。请问怎么解决?

你是说input 输入框内左右键不起作用吗?? 我刚看了一下没问题呀,是不是你有其他的东西在干扰?


可能我没表述清楚。左右键在框内可以移动,但是移到头和尾,就不起作用了,正常情况,如果文字超出框的长度,文字会移动。

我试了好几台电脑,IE6、7、8和360都试过。

非常感谢,在ie下的确有这种问题,我已经记录下来,修正后将跟随 v3.1 一起发布
215 楼 hxcy001 2012-01-17  
zTreeAPI 写道
hxcy001 写道
在编辑状态,如果节点名超过编辑框宽度,左右键在框内不起作用。请问怎么解决?

你是说input 输入框内左右键不起作用吗?? 我刚看了一下没问题呀,是不是你有其他的东西在干扰?


可能我没表述清楚。左右键在框内可以移动,但是移到头和尾,就不起作用了,正常情况,如果文字超出框的长度,文字会移动。

我试了好几台电脑,IE6、7、8和360都试过。
214 楼 zTreeAPI 2012-01-05  
wawamao802 写道
加个问题  希望支持多个key值

key: {
name: "name1,name2",
childs: "childs",
title: "name1,name2"
},
simpleData: {
enable: true,
idKey: "id1,subid1",
pIdKey: "pId1,p.pId1",
rootPId: 0
},

父和子是俩个对象 希望取当前节点name或者idvalue时,用,分割遍历idKey 该节点对象有name1 用name1 没有name1取name2

一方面时间很紧,不可能马上追加这个修改了;另一方面我还不太认可你的这个需求,因为这个需求很明显会影响树在展示过程中的效率;既然知道这种规则为何不直接将数据提前处理一遍再传递给zTree呢?

如果提前处理一遍再传递给zTree,那么只需要处理一次,否则在树的显示过程中,每个节点处理时都需要不断判断是name1还是name2,这样对效率有很大的影响。

希望能继续沟通,谢谢
213 楼 wawamao802 2012-01-05  
加个问题  希望支持多个key值

key: {
name: "name1,name2",
childs: "childs",
title: "name1,name2"
},
simpleData: {
enable: true,
idKey: "id1,subid1",
pIdKey: "pId1,p.pId1",
rootPId: 0
},

父和子是俩个对象 希望取当前节点name或者idvalue时,用,分割遍历idKey 该节点对象有name1 用name1 没有name1取name2
212 楼 zTreeAPI 2012-01-04  
southgate 写道
放在jqueryUI的dialog下的树 当拖动时没有箭头出现
不放在dialog裏是有的。
在dialog裏头打开时,修改和删除图标是有的
chrome

这应该主要是 css 的问题,请检查一下 css 是否有冲突,尤其是图层、位置 、z-index 之类的设置
211 楼 southgate 2012-01-04  
放在jqueryUI的dialog下的树 当拖动时没有箭头出现
不放在dialog裏是有的。
在dialog裏头打开时,修改和删除图标是有的
chrome
210 楼 southgate 2012-01-04  
不放在dialog裏是有的。
在dialog裏头打开时,修改和删除图标是有的
chrome
209 楼 zTreeAPI 2012-01-04  
shuilinangus0 写道
期待3.0正式版

我为公司的一个项目做了个通用树形组件,就是用了ztree。组件早就1.0正式版了,节后要开坑2.0了,就等着ztree3.0的正式版的js文件了

3.0正式版快点出了吧

正在努力做最后的测试和修正。。。争取下周能放出来,不好意思了
208 楼 shuilinangus0 2011-12-31  
期待3.0正式版

我为公司的一个项目做了个通用树形组件,就是用了ztree。组件早就1.0正式版了,节后要开坑2.0了,就等着ztree3.0的正式版的js文件了

3.0正式版快点出了吧
207 楼 zTreeAPI 2011-12-29  
hyper2kok 写道
请问支持halfCheck的ztree什么时候可用?

不好意思,多等两天吧,功能已经开发完毕,就差Demo 和测试了。。。
206 楼 hyper2kok 2011-12-29  
请问支持halfCheck的ztree什么时候可用?
205 楼 zTreeAPI 2011-12-27  
hxcy001 写道
在编辑状态,如果节点名超过编辑框宽度,左右键在框内不起作用。请问怎么解决?

你是说input 输入框内左右键不起作用吗?? 我刚看了一下没问题呀,是不是你有其他的东西在干扰?
204 楼 hxcy001 2011-12-27  
在编辑状态,如果节点名超过编辑框宽度,左右键在框内不起作用。请问怎么解决?
203 楼 zTreeAPI 2011-12-26  
shuwenguang 写道
LZ,请问ztree现在支持搜索吗?如果把搜索功能进入,会超级强大!搜索自动完成和一键搜等功能加进去的话,这个树就长成撑天大树了。

感谢你的关心。 你去看看 http://www.baby666.cn/v3/demo.php#_113 这个Demo,是否能满足你需要的功能? 不过目前的确是没有哪种把搜索指定节点进行隐藏的功能。

相关推荐

    JQuery zTree v3.0

    zTree v3.0 正式版在功能、性能方便比 v2.x 版本都有了很多改善,尤其是性能方面。 但还要再提提醒大家,v3.0 在代码架构上的改动较大,所以升级 v2.x 版本的 zTree 必须要配合修改代码,不能仅仅升级 js 文件。

    JQuery zTree v3.0 下载

    zTree 是利用 JQuery 的核心代码,实现一套能完成大部分常用功能的 Tree 插件。它与 IE、FireFox、Chrome 等浏览器保持兼容,在一个页面内可同时生成多个Tree 实例,支持一次性静态生成和Ajax 异步加载两种方式,...

    zTree 3.0 实例下载

    **zTree 3.0 实例详解** zTree是一款基于JavaScript的树形插件,广泛应用于网页中的数据展示,如文件目录、组织架构等场景。zTree 3.0是其一个重要的版本,提供了丰富的功能和高度的自定义性。在实际开发中,拥有...

    JQuery树型菜单 zTree v2.6 beta

    **jQuery zTree v2.6 Beta 知识点详解** jQuery zTree 是一个基于 jQuery 的开源项目,专门用于实现交互式树形菜单。在 v2.6 beta 版本中,它提供了丰富的功能和优化,使得在网页开发中构建动态、可操作的树形结构...

    JQuery zTree v3.2 最新版

    zTree v3.0 将核心代码按照功能进行了分割,不需要的代码可以不用加载 采用了 延迟加载 技术,上万节点轻松加载,即使在 IE6 下也能基本做到秒杀 兼容 IE、FireFox、Chrome、Opera、Safari 等浏览器 支持 JSON 数据 ...

    JQuery zTree v2.6

    《JQuery zTree v2.6:文档与经典实例解析》 JQuery zTree是一款基于JavaScript的树形插件,其v2.6版本在功能和性能上进行了优化,为开发者提供了更强大的树形结构处理能力。这个版本的zTree不仅包含了完整的API...

    JQuery zTree v3.3

    zTree v3.3是该插件的一个版本,它在前一版本的基础上进行了优化和增强,旨在提供更高效、更稳定的服务。 在zTree v3.3中,核心功能包括: 1. **树结构展示**:zTree能够轻松地将复杂的数据结构转化为用户友好的...

    zTree源码开发js

    •zTree v3.0 将核心代码按照功能进行了分割,不需要的代码可以不用加载 •采用了 延迟加载 技术,上万节点轻松加载,即使在 IE6 下也能基本做到秒杀 •兼容 IE、FireFox、Chrome、Opera、Safari 等浏览器 •支持 ...

    zTree 非常强大的树形控件

    、zTree v3.0 针对大数据量一次性加载进行了更深入的优化,实现了延迟加载功能,即不展开的节点不创建子节点的 Dom。 2)、对于每级节点最多一百左右,但总节点数几千甚至几万,且不是全部展开的数据,一次性加载的...

    zTree v3.5.37 API 文档

    **zTree v3.5.37 API 文档** zTree 是一款基于 jQuery 的树形插件,广泛应用于网页中的树形菜单、目录结构展示等场景。v3.5.37 版本的 API 文档是理解并有效利用 zTree 功能的关键。 **一、设置(Setting)配置...

    JQuery zTree v3.5.14

    **jQuery zTree v3.5.14** 是一个基于jQuery的树形插件,它在Web开发中广泛用于创建交互式的树形结构。这个版本3.5.14是zTree的一个稳定版本,提供了丰富的功能和优化的性能。下面我们将深入探讨zTree的核心特性、...

    ztree树的部分js文件

    zTree v3.0 将核心代码按照功能进行了分割,不需要的代码可以不用加载 采用了 延迟加载 技术,上万节点轻松加载,即使在 IE6 下也能基本做到秒杀 兼容 IE、FireFox、Chrome、Opera、Safari 等浏览器 支持 JSON ...

    JQuery zTree v3.4 ztree

    10. **更新日志**:`更新日志3.x.txt` 文件记录了 v3.4 版本的改动和改进,这对于了解新功能和修复的 bug 非常有帮助。 11. **文件结构**: - `api`:包含了 zTree 的 API 文档,详细解释了每个方法和参数的用途。...

    zTree v3.3 API帮助chm格式

    zTree v3.3 API帮助 根据官方网站提供的帮助制作 因为原始文档不能直接在本地打开帮助查看麻烦,所以制作成了chm格式

    JQuery zTree v2.6 基本用法实例

    **jQuery zTree v2.6 基本用法实例** zTree是一款基于jQuery的树形插件,广泛应用于网站的导航、组织结构展示、权限管理等场景。它提供了丰富的API和CSS样式,使得开发者可以方便地进行定制化开发。在v2.6版本中,...

    JQuery zTree v2.6.zip

    《JQuery zTree v2.6 - 构建交互式树形菜单的高效工具》 JQuery zTree是一款基于jQuery库的开源项目,用于构建功能丰富的树形菜单。在v2.6版本中,它提供了更为强大的功能和优化的性能,以满足网页开发中对于动态...

    zTree-zTree_v3.5.17

    zTree是一款广泛应用于Web开发中的JavaScript树形菜单插件,其最新版本为zTree_v3.5.17。这个插件以其强大的功能、灵活的配置选项和良好的用户体验深受开发者喜爱。在本压缩包中,你将获得zTree的核心源码,以便于你...

    JQuery zTree v3.1完整API完整demo

    **jQuery zTree v3.1 完整API详解** `jQuery zTree` 是一个基于 jQuery 的强大树形插件,广泛应用于网站导航、组织结构展示、文件管理等场景。v3.1 版本提供了丰富的功能和完善的API,使得开发者能够更加灵活地定制...

Global site tag (gtag.js) - Google Analytics