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

JQuery Tree插件——zTree v3.5.02 版 发布

阅读更多

    首先要告诉大家,在 jQuery 发布了插件注册功能后,zTree 也已经发布到了 jQuery 的 Plugins 内,同时也在 Github 上进行了发布(不过近期敏感事件期间 github 一会儿能访问一会儿又不能访问,建议大家还是苦练翻那个什么Wall的本领吧,呵呵)。

 

    jQuery Plugin:http://plugins.jquery.com/zTree.v3/

    GitHub:https://github.com/zTree/zTree_v3

 

    这次修正的内容应该还是挺重要的,特别是删除了 jQuery.browser() 的使用,保证了对 jQuery 1.9 的兼容;

    

    另外修改了 checkbox/radio 的 disabled 功能,对于那些希望父节点 禁用 checkbox 但子节点依然使用 checkbox 的同志们,赶紧升级吧!

 

    同时,还要非常感谢一位热心的朋友(XLiming),让我远程登录调试了 IE10 下 异步加载的问题,经过测试以及网上搜索,发现这是 IE10 的一个严重 bug —— ajax 提交请求 type = "post" 时会发现参数无法传到后台。 

    

    这样结果就是 —— 异步加载时展开节点总是得到根节点,从而导致逐层展开的都是根节点数据,然后就死循环下去了。 

    

    更严重的情况是 —— 对于 异步加载模式下全部展开 的 Demo 来说,一旦用 IE10 访问,就会导致死循环崩溃的。。。。所以我现在已经将 Demo 修改为 "get" 的方式。 请有类似使用的朋友都要注意一下了!

    相关 IE10 post 参数丢失 bug 的信息可以参考页面:http://bugs.jquery.com/ticket/12790

 

    对于 zTree 新版本的重构仍在酝酿,如果大家有什么想法、建议,也非常欢迎与我进行沟通。

 

    zTree 在线操作演示:http://www.ztree.me/v3/demo.php#_101

 

    zTree 快速下载地址:http://code.google.com/p/jquerytree/downloads/list

 

    下面是 v3.5.02 的修改记录:

 

   * 【增加】setting.check.chkDisabledInherit 属性,用于设置 chkDisabled 在初始化时子节点是否可以继承父节点的 chkDisabled 属性

   * 【删除】内部 noSel 方法,使用 selectstart事件 和 "-moz-user-select"样式 处理禁止 节点文字被选择的功能

   * 【修改】不兼容 jQuery 1.9 的bug

   * 【修改】onDrop 的触发规则,保证异步加载模式下,可以在延迟加载结束后触发,避免 onDrop 中被拖拽的节点是已经更新后的数据。

   * 【修改】setChkDisabled 方法,增加 inheritParent, inheritChildren 参数设置是否让父子节点继承 disabled

   * 【修改】异步加载时 拼接参数的方法,由 string 修改为 json 对象

   * 【修正】1-2-3 3级节点时,如果 2级节点 全部设置为 nocheck 或 chkDisabled后,勾选3级节点时,1级节点的半勾选状态错误的 bug

   * 【修改】Demo: checkbox_nocheck.html & checkbox_chkDisabled.html;

   * 【修改】Demo: edit_super.html,增加 showRenameBtn & showRemoveBtn 的演示

   * 【修改】Demo: asyncForAll, 将 post 修改为 get;为了避免由于 IE10 的 bug 造成的客户端 以及 服务端崩溃

      IE10 ajax Post 无法提交参数的bug (http://bugs.jquery.com/ticket/12790)

 

分享到:
评论
26 楼 clear_yang 2016-11-17  
jquery.ztree.excheck.min.js:15 Uncaught TypeError: Cannot read property 'consts' of undefined

报了这个错误,请问是什么原因
25 楼 chinaway 2013-03-01  
zTreeAPI 写道
chinaway 写道
麻烦问一下,3.0例子里边的样式
.ztree li button.add {margin-left:2px; margin-right: -1px; background-position:-112px 0px; vertical-align:top; *vertical-align:middle}

到3.5下面不能用了,我调整了位置为-148还是不行


非常抱歉,检查了一下,在 升级 v3.2 的log 中忽略了这部分内容,只是写在了当时的发布新闻内。
http://ztreeapi.iteye.com/blog/1527266

注意:需要升级 css 的


感谢,搞定了。
24 楼 zTreeAPI 2013-03-01  
chinaway 写道
麻烦问一下,3.0例子里边的样式
.ztree li button.add {margin-left:2px; margin-right: -1px; background-position:-112px 0px; vertical-align:top; *vertical-align:middle}

到3.5下面不能用了,我调整了位置为-148还是不行


非常抱歉,检查了一下,在 升级 v3.2 的log 中忽略了这部分内容,只是写在了当时的发布新闻内。
http://ztreeapi.iteye.com/blog/1527266

注意:需要升级 css 的
23 楼 chinaway 2013-02-28  
麻烦问一下,3.0例子里边的样式
.ztree li button.add {margin-left:2px; margin-right: -1px; background-position:-112px 0px; vertical-align:top; *vertical-align:middle}

到3.5下面不能用了,我调整了位置为-148还是不行
22 楼 hskww 2013-02-26  
zTreeAPI 写道
hskww 写道
...目前的做法就是勾选用户时,找到对应组节点,进行一些逻辑判断来更改此节点的属性,使用updateNode方法(checkNode 方法也一样)来进行树状态的关联。但有一种情况:A有u1,u2用户,当把u1的用户选中,u2不选中,在JS中使用updateNode或checkNode,发现它把A中的子组都选中了,希望A中的子组保持原样~~

父子关联关系可以自己控制呀,利用 setting.check.chkboxType

谢谢,问题已解决
21 楼 zTreeAPI 2013-02-25  
hskww 写道
...目前的做法就是勾选用户时,找到对应组节点,进行一些逻辑判断来更改此节点的属性,使用updateNode方法(checkNode 方法也一样)来进行树状态的关联。但有一种情况:A有u1,u2用户,当把u1的用户选中,u2不选中,在JS中使用updateNode或checkNode,发现它把A中的子组都选中了,希望A中的子组保持原样~~

父子关联关系可以自己控制呀,利用 setting.check.chkboxType
20 楼 hskww 2013-02-25  
zTreeAPI 写道
hskww 写道
hskww 写道
在使用Ztree中,有一个问题没找到解决方案,一组下面有子组和用户,用户不能展现在树中,默认下组的勾选与半勾选状态只与树中的节点关联,实际项目中要把组下的用户也当作组的子组来关联。
之前想到过两个方法:
1. 把用户加进树的结构,只不过把它隐藏,可是用JS把用户的checked属性变化,触发不了父级节点的联动
2. 在每次的checkbox的click事件中,加入自己的判断,由于用户不是树的结构,发现越改越乱

有解决方法吗?

我的理解如下:
树上只能显示组的信息; 实际应用中 组内还会有 用户信息,勾选 用户时要触发 树上 组的 checkbox 联动

如果是这样实现起来应该不难,建议如下:
1. 用户的信息中肯定会有所属的组的信息
2. 勾选用户时,根据对应组的信息可以利用 zTreeObj.getNodeByParam 或 getNodesByFilter 之类的方法获取到对应的 组的 节点数据
3. checkNode 方法可以进行勾选,默认情况下 zTree 会自动进行父子关联的

目前的做法就是勾选用户时,找到对应组节点,进行一些逻辑判断来更改此节点的属性,使用updateNode方法(checkNode 方法也一样)来进行树状态的关联。但有一种情况:A有u1,u2用户,当把u1的用户选中,u2不选中,在JS中使用updateNode或checkNode,发现它把A中的子组都选中了,希望A中的子组保持原样~~
19 楼 zTreeAPI 2013-02-23  
hskww 写道
hskww 写道
在使用Ztree中,有一个问题没找到解决方案,一组下面有子组和用户,用户不能展现在树中,默认下组的勾选与半勾选状态只与树中的节点关联,实际项目中要把组下的用户也当作组的子组来关联。
之前想到过两个方法:
1. 把用户加进树的结构,只不过把它隐藏,可是用JS把用户的checked属性变化,触发不了父级节点的联动
2. 在每次的checkbox的click事件中,加入自己的判断,由于用户不是树的结构,发现越改越乱

有解决方法吗?

我的理解如下:
树上只能显示组的信息; 实际应用中 组内还会有 用户信息,勾选 用户时要触发 树上 组的 checkbox 联动

如果是这样实现起来应该不难,建议如下:
1. 用户的信息中肯定会有所属的组的信息
2. 勾选用户时,根据对应组的信息可以利用 zTreeObj.getNodeByParam 或 getNodesByFilter 之类的方法获取到对应的 组的 节点数据
3. checkNode 方法可以进行勾选,默认情况下 zTree 会自动进行父子关联的
18 楼 hskww 2013-02-22  
hskww 写道
在使用Ztree中,有一个问题没找到解决方案,一组下面有子组和用户,用户不能展现在树中,默认下组的勾选与半勾选状态只与树中的节点关联,实际项目中要把组下的用户也当作组的子组来关联。
之前想到过两个方法:
1. 把用户加进树的结构,只不过把它隐藏,可是用JS把用户的checked属性变化,触发不了父级节点的联动
2. 在每次的checkbox的click事件中,加入自己的判断,由于用户不是树的结构,发现越改越乱

有解决方法吗?
17 楼 hskww 2013-02-22  
在使用Ztree中,有一个问题没找到解决方案,一组下面有子组和用户,用户不能展现在树中,默认下组的勾选与半勾选状态只与树中的节点关联,实际项目中要把组下的用户也当作组的子组来关联。
之前想到过两个方法:
1. 把用户加进树的结构,只不过把它隐藏,可是用JS把用户的checked属性变化,触发不了父级节点的联动
2. 在每次的checkbox的click事件中,加入自己的判断,由于用户不是树的结构,发现越改越乱
16 楼 zTreeAPI 2013-02-21  
775901421 写道
hello,可以问一下
刷新之后,如何保持树之前的状态呢

要自己cookie吗?

这种只好你自己cookie 了。。建议能用 webStorage 就用 webStorage;
如果用 cookie 建议不要保存全部数据,只保存关键节点的id 即可
15 楼 775901421 2013-02-21  
hello,可以问一下
刷新之后,如何保持树之前的状态呢

要自己cookie吗?
14 楼 tigerl 2013-02-20  
zTreeAPI 写道
tigerl 写道
你好,使用jquery1.9.1 的时候,左键点击Tree里的节点的时候报错,虽然不影响显示,但是在chrome控制台显示报错了,楼主可以测试下,我看到demo里引用的依然是jquery1.4,换成1.9.1

报错如下:
Uncaught TypeError: Cannot read property 'nodeName' of undefined jquery.ztree.core-3.5.js:614

hello,我已经发布到 github 上:http://plugins.jquery.com/zTree.v3/ 直接获取最新代码即可

感谢您在百忙之中修正问题!我也忙了一天,刚登陆博客!
13 楼 zTreeAPI 2013-02-20  
tigerl 写道
你好,使用jquery1.9.1 的时候,左键点击Tree里的节点的时候报错,虽然不影响显示,但是在chrome控制台显示报错了,楼主可以测试下,我看到demo里引用的依然是jquery1.4,换成1.9.1

报错如下:
Uncaught TypeError: Cannot read property 'nodeName' of undefined jquery.ztree.core-3.5.js:614

hello,我已经发布到 github 上:http://plugins.jquery.com/zTree.v3/ 直接获取最新代码即可
12 楼 zTreeAPI 2013-02-20  
yaodian 写道
setting里面的async里面的contentType 设置为 "application/json",无法生效,在3.5.01这个版本是可以的,但在3.5.02就不行了……

。。。麻烦你多做一下测试,我现在手头比较忙, 因为目前没有针对 async 部分做过任何修改呀
11 楼 zTreeAPI 2013-02-20  
p2bl 写道
感谢作者!

建议为 getNextNode 和 getPreNode 增加参数,可以设定是否必须在同一层

这个貌似就是在同一层内搜索的,不用限制的。
10 楼 p2bl 2013-02-20  
感谢作者!

建议为 getNextNode 和 getPreNode 增加参数,可以设定是否必须在同一层
9 楼 yaodian 2013-02-20  
setting里面的async里面的contentType 设置为 "application/json",无法生效,在3.5.01这个版本是可以的,但在3.5.02就不行了……
8 楼 zTreeAPI 2013-02-20  
tigerl 写道
你好,使用jquery1.9.1 的时候,左键点击Tree里的节点的时候报错,虽然不影响显示,但是在chrome控制台显示报错了,楼主可以测试下,我看到demo里引用的依然是jquery1.4,换成1.9.1

报错如下:
Uncaught TypeError: Cannot read property 'nodeName' of undefined jquery.ztree.core-3.5.js:614

非常感谢, 查看了一下 jquery 的代码,因为 srcElement 不规范,不符合 W3C 标准,所以在 jquery 1.9 中彻底删除了这个属性
将 代码中 var n = e.srcElement.nodeName.toLowerCase();
替换为 var n = e.originalEvent.srcElement.nodeName.toLowerCase();
就可以正常工作了, 我会抽空把这个修正先更新到 github 上.
7 楼 tigerl 2013-02-20  
你好,使用jquery1.9.1 的时候,左键点击Tree里的节点的时候报错,虽然不影响显示,但是在chrome控制台显示报错了,楼主可以测试下,我看到demo里引用的依然是jquery1.4,换成1.9.1

报错如下:
Uncaught TypeError: Cannot read property 'nodeName' of undefined jquery.ztree.core-3.5.js:614

相关推荐

    JQuery zTree v3.4 ztree

    JQuery zTree 是一个基于 jQuery 的插件,用于在网页中构建交互式的树形结构。v3.4 版本是其稳定且功能丰富的版本之一,适用于多种应用场景,如数据展示、导航菜单、文件目录等。它以其易用性、高效性和强大的功能...

    JQuery zTree v3.3

    JQuery zTree是一款基于JavaScript的开源树...总之,JQuery zTree v3.3是一个强大且易用的JavaScript树形插件,它通过提供多种操作功能、良好的性能以及灵活的定制选项,满足了开发者在构建网页树形结构时的各种需求。

    JQuery-zTree-v2.6.rar_Java 8_jquery tree_jquery-ztree-2.6.js_jqu

    2、在一个页面内可同时生成多个 Tree 实例 3、支持 JSON 数据 4、支持一次性静态生成 和 Ajax 异步加载 两种方式 5、支持多种事件响应及反馈 6、支持 Tree 的节点移动、编辑、删除 7、支持极其灵活的 checkbox...

    全网jquery.tree树形菜单打包下载(zTree&jquery-ui&treeview共四种)

    这个压缩包包含四个不同的jQuery树形插件:zTree、jQuery UI Treeview、jQuery UI Draggable Tree和jQuery Simple Treeview。这些插件各有特色,适用于不同的项目需求。 首先,zTree是一款功能强大的jQuery插件,...

    jQuery 树形结构插件 zTree

    **jQuery zTree 插件详解** zTree 是一个基于 jQuery 的强大树形控件,它在Web开发中被广泛应用于构建动态的、交互式的树形结构。zTree 的设计目标是提供高性能、易于配置和丰富的功能,使得开发者可以轻松地在网页...

    Jquery-ztree树形菜单代码并适应移动端

    JQuery-zTree是一款基于jQuery的树形插件,它提供了丰富的功能和良好的性能,尤其适用于构建树形结构的菜单和数据展示。在移动端应用中,zTree能够自适应屏幕尺寸,提供良好的用户体验。本项目提供的代码是针对...

    JQuery zTree v2.6

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

    JQuery实现树插件 Ztree

    JQuery实现树插件Ztree是一个广泛使用的轻量级前端组件,它为Web开发者提供了构建交互式树形结构的便捷工具。Ztree基于流行的JavaScript库JQuery,因此,如果你已经熟悉JQuery,那么掌握Ztree将相对容易。在本文中,...

    archive_zTree(JQuery Tree) v3.1.zip.zip

    【标题】"archive_zTree(JQuery Tree) v3.1.zip.zip" 提供的是一个用于构建树形结构的jQuery插件——zTree的v3.1版本。zTree是一款广泛应用于网页开发中的JavaScript库,它使得在网页上展示层级关系的数据变得更加...

    JQuery zTree v3.5.47.zip

    《JQuery zTree v3.5.47:构建动态树形菜单的利器》 JQuery zTree是一款基于JavaScript的开源库,专用于构建交互式的树形菜单。在这个版本v3.5.47中,它继续提供高效、灵活且功能丰富的解决方案,尤其适用于网页中...

    JQuery zTree v3.5 api

    jQuery zTree 是一款基于 jQuery 的树形插件,广泛应用于网站导航、组织结构展示、文件目录管理等多种场景。v3.5 版本是其一个重要的里程碑,它提供了丰富的功能和优化的性能,使得开发者能够更加灵活地构建树形结构...

    jquery.zTree.js.rar

    jquery-1.4.4.min.js jquery.ztree.exhide.min.js jquery.ztree.exedit.min.js jquery.ztree.excheck.min.js jquery.ztree.core.min.js jquery.ztree.all.min.js jquery-1.4.4.js jquery.ztree.exhide.js jquery....

    JQueryTree zTree

    `JQueryTree` 和 `zTree` 是两个基于JavaScript库,尤其是jQuery框架的插件,用于实现动态、交互式的树形组件。 **JQueryTree** `JQueryTree` 是一个轻量级的jQuery插件,主要用于构建可操作的HTML5树视图。它提供...

    jQuery实现树插件ztree用户选择特效.zip

    而zTree是一款基于jQuery的树插件,它提供了丰富的配置选项和API,使得开发者能够方便地实现各种树形结构的展示和交互功能,特别是用户选择特效。本文将深入探讨如何利用jQuery和zTree来实现用户选择特效。 一、...

    JQuery zTree v3.5.14

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

    JQuery zTree v3.2 最新版

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

Global site tag (gtag.js) - Google Analytics