2个BUG报告。expandAll,expandNode与ancelEditName相关。
ztree吧
全部回复
仅看楼主
level 1
aloneraynor 楼主
第一个BUG:
expandAll与expandNode在jQuery.1.8.3与firefox下,不生效。
代码是在ready初始化时调用的.
$.fn.zTree.init($("#treeDemo"), setting, treeNodes).expandAll(true);
把jQuery改成1.7版,或者把firefox换成ie9。都能正常使用。
应该是zTree的expandAll与expandNode,可能存在与jQuery1.8.3不兼容的地方吧。
第二个BUG:
我在BeforeRename中,判断更改的名称,是否符合要求,不符合的话,就取消编辑状态,并返回false。
var treeObj = $.fn.zTree.getZTreeObj(treeId);
treeObj.cancelEditName();
return false;
编辑状态是取消了。但是这个node,下次把鼠标移动上去,就不会再弹出

A2结点再也不会弹出
了。
C结点没有编辑过,所以有弹出。
是否在
BeforeRename函数中,不能执行
cancelEditName,还是BUG?
2012年11月27日 06点11分 1
level 11
1、关于Bug1, zTree 并没有使用 jQuery内很特殊方法,展开也只是用了一个动画折叠的效果而已。 你说失效,我考虑是否你的 zTree 使用了异步加载模式?? 如果不是请告诉我,有空的时候我去试验一下。 另外顺便问一下,你说的情况在 chrome 下是否正常?? 在firefox 内不生效的是否有js 报错??
2、关于Bug2,我仔细检查了一下代码,不得不说这应该还是算一个bug,虽然本来并不希望在 beforeRename 中去使用 cancelEditName的。 因为一般来说 修改名称后如果不符合要求,应该让用户继续进行修改的。 cancelEditName 也是为了其他地方用js 取消编辑状态的。 当你在 beforeRename 中使用了 cancelEditName 后,导致了一个内部属性设置最终被认定为 继续编辑。
这个问题我会进行修正,你现在可以修改为:
setTimeout(function(){
var treeObj = $.fn.zTree.getZTreeObj(treeId);
treeObj.cancelEditName();
}, 50}
这应该可以正常。
另外也请你把email 告诉我,当我修正后会把最新代码发给你。
2012年11月28日 13点11分 2
树哥,这个地方关于第二个问题,你说修改名称后如果不符合要求,应该让用户继续进行修改的。这个我赞同,可是如果说修改的时候要做ajax验证是否可以修改,那这个地方在post方法里边是没法return true的,所以我想如果在post里边通过验证的时候会用到cancelEditName(),所以这个地方有什么思路。。
2013年10月25日 02点10分
回复 故事怎么写_lq :现在 为知笔记的 网页版里 使用 zTree 时就是这么使用的,没什么不妥的呀。
2013年10月27日 13点10分
我现在遇到了在beforeRename 中去使用 cancelEditName的时候,页面会出现死循环,一直执行beforeRename 方法,我这边该怎么办呀
2017年09月25日 09点09分
level 11
回复了 贴吧的消息后,发现你也发了Email。。。。 最新代码已经发给你了。。。另外关于 Bug1, 我用了1.8.3,并且也用了你说的那个方法是用 expandAll 在 firefox 上可以非常正常的使用。所以我觉得你还是由于使用了异步加载模式导致的吧??
2012年11月28日 14点11分 3
1