关于ztree双击


在项目中使用了ztree来做组织结构的树,我们定义的树中拥有三种节点(使用树节点中的一个自定义属性type来区分):组织结构,建筑,设备类型。要求是:双击的时候将点击的节点添加到另一棵树中。但是,双击组织结构不触发,双击建筑连同建筑及其下属设备类型一起添加,双击设备添加其父建筑节点和自己本身,目标树中拥有的不添加。

做完之后没有觉得如何。后来被同事发现一个bug,当目标树中有一个建筑节点时,双击源树中的这个节点,虽然目标树中没有添加,而且也给出了重复提示。但是源树中的该节点下面添加了整个树。。。开始以为是判断逻辑上面有问题,但是检查多遍都没发现哪里有问题,然后又通过firefox的Firebug给每一个addNodes方法添加断点,居然发现,任何一个addNodes方法都没有调用,但是居然还是添加了。并且,如果是在源树中双击的不是建筑节点,而是设备类型节点,在相同的情况下也没有问题。原因始终是没有找到。不过问题还是解决了。

原来的写法是,给树节点添加onDblClick事件,所有的判断是否添加到目标树的逻辑以及添加语句都在这里实现。修改后的方法是:把判断是否添加到目标树的逻辑放在了beforeDblClick事件中。只要不符合条件都返回false,这样onDblClick事件不会响应。

总结:尽管由于事件原因,没能发现原理问题,不过能解决这个问题,还是颇费了一番功夫,写下来以备日后忘记。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM