Ztree使用之为图标添加点击事件

Posted lin494910940

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ztree使用之为图标添加点击事件相关的知识,希望对你有一定的参考价值。

写在前面的话:

  最近有个需求是为Ztree的图标添加点击事件,心想这好办呀,读读Ztree的官方文档一定会有相应的图标点击事件的,于是我打开了Ztree的官网 ,找了好久没有直接针对图标的点击事件,我的三千烦恼丝又要开始掉了。

技术图片

解决办法:

  好在我相信一个道理:“只要思想不滑坡,办法总比困难多!”,既然没有直接的点击事件那还有间接的点击事件,如:onClick,onMouseDown,onMouseUp等,他们都带有三个参数:event(标准的js event对象),treeId(对应ZTree的treeId),treeNode(被点击的结点JSON数据对象)。对于点击图标还是点击结点名称可以用event对象来判断,根据我的实践得出event.target.id 保存了被点击对象的idztree 结点的id图标默认写法是:TreeId+数字编号+“_ico”,而文字是:TreeId+数字编号+“_span”,复选框是:TreeId+数字编号+“_check”。

技术图片

那么知道以上的信息就好办了,在随便一个有包含event参数的CallBack点击事件中 对event.target.id 进行判断如果id有包含“_ico”的话就是在图标上触发的点击事件。就可以在判断成功之后写点击图标的事件了。

一下附上Demo代码:

  onMouseDown: function (event, treeId, treeNode) {
                if (event.target.id && event.target.id.lastIndexOf("_ico") > -1) {
                    //写你的图标点击事件代码
                }
            }

技术图片

 

以上是关于Ztree使用之为图标添加点击事件的主要内容,如果未能解决你的问题,请参考以下文章

ztree点击父节点为啥又重新请求一下了

ztree怎么通过修改css改变字体和图标大小

ZTree的展开节点的+图标能改成其他自定义图标吗

jquery组件ztree问题:为啥添加新节点时会自动添加2个以上的新节点

Ztree自动触发第一个节点的点击事件

ztree 异步加载 节点点击事件无触发 只有第一次刷新的时候才加载!