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

JQuery Tree插件——zTree v3.5 正式版 发布

阅读更多

    由于国庆之后一直忙于公司的项目,因此将 zTree 闲置了1个月左右。


    这次升级继续以修正 bug 为主,这里要非常感谢各位用户的支持,这次修改的很多 bug 都是大家在使用过程中反映给我的。

 

    

    zTree 目前已经能够满足绝大部分树形需求的操作,对于一棵单纯的树来说,基本可以到此为止了。所以以后 v3.x 版本也都不会增加新功能了,但会继续保持 bug 的修正,如果你发现 zTree 的 bug 还请及时告诉我。(结束只代表着新的开始....)


    在 zTree 不断完善的过程中,更加深刻的体会到架构的重要性,而架构主要体现在代码的灵活性、扩展性 以及代码的优化,要想开发出更多更好的功能,那么我必须要首先从架构上认真思考和探索,至于下一步到底会做出个什么东西来,我自己还不能完全确定,但首先肯定还是以 树 当做我的案例,对心中这样一个架构进行尝试,希望以后可以实现一套轻松搭建各种类似于树、菜单 以及 各种 Map 的 js 控件。 如果大家有什么想法、建议,也非常欢迎与我进行沟通。


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


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


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

   * 【优化】原先的 clone 方法 (特别感谢:愚人码头)

   * 【修改】隐藏父节点后,使用 expandAll 方法导致 父节点展开的 bug

   * 【修改】使用 jQuery v1.7 以上时,设置 zTree 容器 ul 隐藏(visibility: hidden;)后, 调用 selectNode 导致 IE 浏览器报错 Can't move focus 的 bug

   * 【修改】正在异步加载时,执行 destory 或 init 方法后,异步加载的节点影响新树的 bug

   * 【修改】方法 reAsyncChildNodes 在 refresh 的时候未清空内部 cache 导致内存泄露 的 bug

   * 【修改】批量节点拖拽到其他父节点内(inner)时,导致顺序反转 的 bug

   * 【修改】对于 使用 html格式的 节点无法触发 双击事件 的 bug

   * 【修改】onCheck 回调中的 event ,保证与触发事件中的 event 一致

   * 【修改】异步加载时,在 onNodeCreated 中执行 selectNode 后,导致节点折叠的 bug

   * 【修改】API 中 dataFilter 的参数名称 childNodes ->  responseData

   * 【修改】API 中 iconSkin 的 举例内容

   * 【修改】API 中 chkDisabled 的说明

   * 【修改】Demo 中 index.html 内的 loadReady 重复绑定问题


分享到:
评论
46 楼 zTreeAPI 2014-01-13  
masquelo 写道
masquelo 写道
zTreeAPI 写道
Masque 写道
您好,我现在有这样一个需求,有4级树状,最子级是一个11列的表格状。最开始考虑到treetable或这个ztree,但是我的异步加载。最子级的数据我则是选用空格隔开。但是我发现这个ztree默认去掉了数据中所有的空格。弱我想覆盖这个去空格。该怎么去处理?
谢谢!

貌似zTree 不会给节点内容去掉中间的 空格吧。


还真的去掉了空格


我用的是java拼接的json
在firebug里面看到的还是有空格的json

你是在哪儿看到去掉空格的呢? 你看看 40楼的截图, 如果空格没了 “随意勾选 1” 这种怎么出来的?
45 楼 masquelo 2014-01-13  
masquelo 写道
zTreeAPI 写道
Masque 写道
您好,我现在有这样一个需求,有4级树状,最子级是一个11列的表格状。最开始考虑到treetable或这个ztree,但是我的异步加载。最子级的数据我则是选用空格隔开。但是我发现这个ztree默认去掉了数据中所有的空格。弱我想覆盖这个去空格。该怎么去处理?
谢谢!

貌似zTree 不会给节点内容去掉中间的 空格吧。


还真的去掉了空格


我用的是java拼接的json
在firebug里面看到的还是有空格的json
44 楼 masquelo 2014-01-13  
zTreeAPI 写道
Masque 写道
您好,我现在有这样一个需求,有4级树状,最子级是一个11列的表格状。最开始考虑到treetable或这个ztree,但是我的异步加载。最子级的数据我则是选用空格隔开。但是我发现这个ztree默认去掉了数据中所有的空格。弱我想覆盖这个去空格。该怎么去处理?
谢谢!

貌似zTree 不会给节点内容去掉中间的 空格吧。


还真的去掉了空格
43 楼 zTreeAPI 2014-01-13  
Masque 写道
您好,我现在有这样一个需求,有4级树状,最子级是一个11列的表格状。最开始考虑到treetable或这个ztree,但是我的异步加载。最子级的数据我则是选用空格隔开。但是我发现这个ztree默认去掉了数据中所有的空格。弱我想覆盖这个去空格。该怎么去处理?
谢谢!

貌似zTree 不会给节点内容去掉中间的 空格吧。
42 楼 Masque 2014-01-07  
您好,我现在有这样一个需求,有4级树状,最子级是一个11列的表格状。最开始考虑到treetable或这个ztree,但是我的异步加载。最子级的数据我则是选用空格隔开。但是我发现这个ztree默认去掉了数据中所有的空格。弱我想覆盖这个去空格。该怎么去处理?
谢谢!
41 楼 itllj 2012-12-22  
zTreeAPI 写道
itllj 写道
感谢博主的无私分享。
在开发过程中发现extjs和ztree结合使用,ztree的样式有所改变。

这个需要你检查一下css 样式了,将产生冲突的地方在 zTreeStyle.css 内补上即可

谢了
40 楼 zTreeAPI 2012-12-21  
itllj 写道
感谢博主的无私分享。
在开发过程中发现extjs和ztree结合使用,ztree的样式有所改变。

这个需要你检查一下css 样式了,将产生冲突的地方在 zTreeStyle.css 内补上即可
39 楼 itllj 2012-12-21  
感谢博主的无私分享。
在开发过程中发现extjs和ztree结合使用,ztree的样式有所改变。
38 楼 zTreeAPI 2012-12-17  
wudehui-q 写道
刚才外链图片看不到,现在更换了地址试试。

jsp父节点半勾选:

调试发现父节点的halfcheck=false


halfCheck 属性是用来强制半勾选功能的, 如果你需要判断半勾选状态请看:getCheckStatus 方法
37 楼 wudehui-q 2012-12-17  
刚才外链图片看不到,现在更换了地址试试。

jsp父节点半勾选:

调试发现父节点的halfcheck=false

36 楼 wudehui-q 2012-12-17  
楼主你好,我在使用halfcheck遇到问题了,请帮我看看究竟是什么问题?

已经引入js:
<script type="text/javascript" src="scripts/jquery/jquery-1.8.3.js"></script>
<script type="text/javascript" src="scripts/ztree/jquery.ztree.core-3.5.js"></script>
<script type="text/javascript" src="scripts/ztree/jquery.ztree.excheck-3.5.js"></script>
//ztree全局设置
var setting = {
view : {
showLine : true//显示连线
},
check: {
enable: true,//启用checkbox
chkboxType: { "Y": "s", "N": "ps" } //Y:勾选,p:关联父节点,s:关联子节点,N:取消勾选
},
callback : {//定义回调方法
onClick : zTreeOnClick //调用单击事件
}
};

jsp父节点半勾选:

调试发现父节点的halfcheck=false

请问是不是我的配置有问题?我的需求是如果父节点是半勾选就不能停止提交删除。
35 楼 zTreeAPI 2012-12-16  
jackyrong 写道
想请教下,有时在ztree中,用simple格式的时候,如果{ }中的字符串很长,其中有空格或者全角字符,尽管去掉了,但依然会报错,出不了完整的树,有什么更好的方法呢,

这个 simple 格式无关,你要保证你生成的json 格式的字符串完全正常,因为 json 是 js 基础支持的;对于 json 中字符串的对象你一定要用 双引号或单引号包起来!
34 楼 zTreeAPI 2012-12-16  
makker 写道
onNodeCreated回调函数有些小小的问题,就是在切换编辑状态的时候,会产生调用。楼主能不能分开来处理,因为现在这样会产生不确定行为,或者需要用户自己写个变量来分辨是否是切换状态产生的回调。

因为 现在切换编辑状态,其实就是让树重画了。 对于以后的结构调整可能会优化这部分,现在应该不会专门针对这个作调整了
33 楼 jackyrong 2012-12-14  
想请教下,有时在ztree中,用simple格式的时候,如果{ }中的字符串很长,其中有空格或者全角字符,尽管去掉了,但依然会报错,出不了完整的树,有什么更好的方法呢,
32 楼 makker 2012-12-13  
onNodeCreated回调函数有些小小的问题,就是在切换编辑状态的时候,会产生调用。楼主能不能分开来处理,因为现在这样会产生不确定行为,或者需要用户自己写个变量来分辨是否是切换状态产生的回调。
31 楼 zTreeAPI 2012-12-12  
tsraa 写道
异步加载支持跨域吗?

一直没有专门做这个测试,刚才看了一下,v3 版本以后对 ajax 的参数做了扩展,基本上保持与 jQuery 一直,所以只需要设置一下两个参数以后就应该可以支持啦:

setting.async.dataType:"jsonp"
setting.async.contentType:"text/html"

不过毕竟没有专门对jsonp 作支持,所以如果你不能使用jQuery 默认的 callback 名称,那就只能去修改一下 zTree 的源码了。
30 楼 tsraa 2012-12-11  
异步加载支持跨域吗?
29 楼 zTreeAPI 2012-12-04  
a_alter 写道
最近自己玩用了下zTree 就目前使用来看 一点疑问


1. node 原始 li 中的原始结构让我很难针对行级别UI进行扩展

   例如我想做一个 让<a></a> 能占据整行的设定 但是蛋疼的前面还有一个span 还都是行内元素... 我想做一个类似table没法做到

2. uploadNode

  我知道addDiyDom --- 可是你在uploadNode中并没有重新去调用该方法, 如果我的样式和node数据有关呢 ...


是有解决方法 还是需要改进

  犀利呀!
1、zTree 的结构的确不太方便做成 table ; 但如果只是让 a 占据正行可以把 span 转移到  a 内,这个可以参考Demo:http://www.ztree.me/v3/demo.php#_513

2、updateNode 方法主要是用于更新 节点自身的一些现实内容,主要是name 和 css 等; 对于你说的 addDiyDom 来说,因为是用户自定义添加的内容,而且的确也没有提供 updateDiyDom 之类的接口,所以 还请在执行updateNode 方法后,自行处理自己添加的控件内容。

这个问题我会记录下来,在今后的结构改造中我会认真考虑这个问题的,非常感谢。
28 楼 a_alter 2012-12-04  
最近自己玩用了下zTree 就目前使用来看 一点疑问


1. node 原始 li 中的原始结构让我很难针对行级别UI进行扩展

   例如我想做一个 让<a></a> 能占据整行的设定 但是蛋疼的前面还有一个span 还都是行内元素... 我想做一个类似table没法做到

2. uploadNode

  我知道addDiyDom --- 可是你在uploadNode中并没有重新去调用该方法, 如果我的样式和node数据有关呢 ...


是有解决方法 还是需要改进
27 楼 ecool 2012-12-03  
zTreeAPI 写道
ecool 写道
请问,如何实现拖动节点时,自动滚动ztree所在的div呢?

现在,我有个tree在一个固定高度的div里面,但是里面的数据很多,如果目标节点不在可见范围内,我根本没法拖动节点到该目标节点,因为拖动的时候,滚动条不会跟着滚动,结果只能在可见范围内拖动节点...

求解啊..

应该是可以在拖拽时自动滚动的呀,你可以用 Demo 测试一下,把 Demo 中的节点数量增多。

谢谢提醒,原来要加css控制
ul.ztree {width:440px;height:400px;overflow-y:scroll;overflow-x:auto;}

相关推荐

Global site tag (gtag.js) - Google Analytics