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正式版发布

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值