话接上回,继续实现jtopo本身不具有的一些功能,有讲的不对的地方,欢迎大家留言提出,我们一起进步,奥利给,还有,码字不易,如果觉得博主写的不错的欢迎打赏哈!
3.实现节点双击后事件处理
很多项目中其实都有用到单击、双击等事件,但jtopo本身没有暴露出这样的接口来,怎么办?自己动手丰衣足食呗。
jtopo-editor.js相信大家并不陌生,具体出处不得而知,里边有这么一个事件不知道大家注意到了没有
this.scene.dbclick
,具体实现如下:
![](https://i-blog.csdnimg.cn/blog_migrate/2524885578976980858457382fb2ea0a.png)
在这个事件里边定义了很多的分支,看到这里其实大家都明白了,想要增加新的双击事件,在指定的位置定义一个回调就好了,我是这样做的,在
TopologyEditor方法中,定义了一个
doubleClick的对象(这里没有定义对象的类型,严格来说指定类型是最好的),当然了,项目需要,我定义了许多其他的对象,如下图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/0aae8083f7917cc8ca129e38904c3e22.png)
定义好了事件,接下来是在哪里触发,我们想要的效果是双击舞台节点时触发,那么首先是当前目标节点不能为空,其次必须是双击,好了,回调函数有了,思路也有了,代码实现就好了
最终实现后的代码如下:
![](https://i-blog.csdnimg.cn/blog_migrate/7472472c8af8b3ba327654e9bc29bdfa.png)
事件也定义完了,怎么用呢?
在我们需要嵌入了jtopo的网页中,直接挂载doubleClick事件就好了,比如:
editor.doubleClick = doubleClickEvent;
而
doubleClickEvent 的具体实现,就是我们的业务逻辑了,如果我这样定义:
function
doubleClickEvent()
{
layer.msg("hi,boys");
}
那么双击拓扑图上的节点之后,就会弹出hi,boys的提示框喽~!
最后,博主有一个小小的心愿,就是希望大家点一下下方的点赞、分享和收藏,博主希望大家都支持下,后期有好的东西我会继续分享给大家。