关于ztree双击

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

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

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

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

转载于:https://www.cnblogs.com/seving/archive/2012/07/05/2578352.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值