easyui tree/combotree 支持双击展开/收起树节点

本文介绍了如何通过修改EasyUI库,阻止Tree和Combotree组件的双击事件默认选择节点,改为在双击时根据设定展开或收起节点,同时处理末级节点的特殊情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

easyui组件tree或者combotree默认双击是触发选择节点事件。有时我们可能想在双击时,不希望触发节点的选择,而是去展开或者收起节点,那怎么办呢?下面我们通过对easyui库的改写,来实现我们的需求。
先说原理:找到单击(bind click)事件的处理逻辑,然后把原来的处理单击的逻辑代码,全部放到定时器里执行(这一步主要是为了区分出单击、双击),一般区分单双击的定时器阈值时间为:300ms,如果判断到是双击事件(300ms内触发两次单击即视为是双击),则我们不执行原来的单击逻辑,改为我们自己的展开或收起节点(当然,前提需要判断是非末级节点)
好了,原理讲完,我们直接开搞,看代码:
1、找到树组件的bind click事件处理位置:
在这里插入图片描述
2、给单击事件处理逻辑添加定时器
在这里插入图片描述
3、向下一点,找到dbclick事件
在这里插入图片描述
4、判断是否是末级节点,对应不同的处理逻辑,非末级节点时执行toggle事件(展开/收起)
在这里插入图片描述
5、如果是末级节点时,我们根据自定义属性ignoreDbl来控制是否执行单击回调还是双击回调(这是为了选择性保留原始的双击回调方法)
在这里插入图片描述

ok,到这里我们改造tree、combotree非末级节点双击时展开/收起的功能就完成了!
有问题或者其他更好更合理的办法,欢迎赐教!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

众秒之门

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值