新建一个mixin文件  粘贴如下代码:

 1 /**
2 * 1. 需要将echart实例赋值为 this.echartsInstance `echartsInstance` echarts 带s
3 * 2. echarts所在的组件大小应该跟echarts图表实际大小相差不多
4 * 3. 引入即可,无需编写其他代码
5 */
6 export const mixinAutoHideTooltip = {
7 mounted() {
8 this.mAutoHideTooltip(this.$el);
9 },
10 data() {
11 this.mIsSelfTouch = false;
12 return {};
13 },
14 beforeDestroy() {
15 this.mRemoveListeners(this.$el);
16 },
17 methods: {
18 mAutoHideTooltip(dom) {
19 dom.addEventListener('touchstart', this.mHandleContainerTouchStart);
20 dom.addEventListener('touchend', this.mHandleContainerTouchEnd);
21 document.addEventListener('touchstart', this.mHandleDomcumentTouchStart);
22 },
23 mRemoveListeners(dom) {
24 dom.removeEventListener('touchstart', this.mHandleContainerTouchStart);
25 dom.removeEventListener('touchend', this.mHandleContainerTouchEnd);
26 document.removeEventListener('touchstart', this.mHandleDomcumentTouchStart);
27 },
28 mHandleContainerTouchStart() {
29 this.mIsSelfTouch = true;
30 },
31 mHandleContainerTouchEnd() {
32 this.mIsSelfTouch = false;
33 },
34 mHandleDomcumentTouchStart() {
35 if (this.mIsSelfTouch) return;
36 this.echartsInstance && this.mHideTooltip(this.echartsInstance);
37 },
38 mHideTooltip(echartsInstance) {
39 echartsInstance.dispatchAction({
40 type: 'updateAxisPointer',
41 currTrigger: 'mousemove',
42 x: 0,
43 y: 0
44 });
45 }
46 }
47 };

使用时如下:

关于移动端使用echarts点击图标外部不能关闭tooltip的问题的更多相关文章

  1. Swift - 点击输入框外部屏幕关闭虚拟键盘

    我们如果把文本框的Return Key设置成Done,然后在storyboard中将文本框的Did End On Exit事件在代码里进行关联.同时关联代码里调用文本框的resignFirstResp ...

  2. 移动端a标签点击图片有阴影处理

    移动端我们在点击页面中的一些图片的时候会出现阴影.处理方法只要给a标签加上 a { -webkit-tap-highlight-color: transparent; -webkit-touch-ca ...

  3. 移动端300ms的点击延迟以及解决方案

    [今天做在移动端的一些效果时,我选择使用动画而不是用过渡,这个300ms的点击延迟是我为什么使用动画而不使用过渡最主要的一个原因] 动画和过渡 共同点:都是css控制DOM运动, 不同点: 1.过渡: ...

  4. Ubuntu下增加eclipse菜单图标并配置java path(解决点击图标不能启动eclipse的问题)

    Ubuntu下增加eclipse菜单图标 Ubuntu的菜单图标在/usr/share/applications目录下. 1. 在/usr/share/applications目录下新建eclipse ...

  5. jQuery实现点击图标div循环放大缩小功能

    很基础的一个功能,点击左下角的图标按钮,地图的整个div会变大,变大预览之后,再次点击图标按钮,地图的整个div会变小,恢复原样,两个图标在地图界面的放大和缩小时间不断的切换图标状态(箭头向里面,或者 ...

  6. vue实现点击图标,图标在2s中完成旋转

    <!-- 点击 vue实现点击图标,图标在2s中完成旋转 1==>如何让它在2s内完成旋转 使用动画 transform: rotate(-180deg); 动画的运动状态 transit ...

  7. 移动端触摸、点击事件优化(fastclick源码学习)

    移动端触摸.点击事件优化(fastclick源码学习) 最近在做一些微信移动端的页面,在此记录关于移动端触摸和点击事件的学习优化过程,主要内容围绕fastclick展开.fastclick githu ...

  8. echarts点击柱状图时触发点击事件

    项目需求:1.通过echarts把数据展示为柱状图2.点击对应的柱状图 显示对应的弹窗 主要用到的时 echarts中的 "click" 事件, 使用demo: var myCha ...

  9. ECharts 点击事件

    一个问题 ECharts 点击出现多个弹窗

  10. Echarts点击多组数据多个柱子中的一个柱子,获取当前点击的是第几组数据,并获取点击的是当前组别第几根柱子,以及对应横坐标,

    遇到一需求,一般都是点击图后获取其中一组数据就可以了,不需要详细到获取点击了当前X轴对应的其中的哪个, 今天的需求是 Echarts点击多组数据多个柱子中的一个柱子,获取当前点击的是第几组数据,并获取 ...

随机推荐

  1. 一张VR图像帧的生命周期

    "VR 应用程序每帧渲染两张图像,一张用于左眼,一张用于右眼."人们通常这样来解释 VR 渲染,虽然没有错,但可能过于简单化了.对于 Quest 开发人员来说,了解全貌是有益的,这 ...

  2. python调用程序路径中包空格,及包含特殊字符问题

    解决办法 import os s = r'"C:\Program Files\Google\Chrome\Application\chrome.exe"' print(s) os. ...

  3. label studio 结合 MMDetection 实现数据集自动标记、模型迭代训练的闭环

    前言 一个 AI 方向的朋友因为标数据集发了篇 SCI 论文,看着他标了两个多月的数据集这么辛苦,就想着人工智能都能站在围棋巅峰了,难道不能动动小手为自己标数据吗?查了一下还真有一些能够满足此需求的框 ...

  4. day16 正则表达式 & 反射 & Java内存模型(JMM)

    day16 class 1)获取一个类的所有信息(变量.方法.构造方法) 2)创建类对象newInstance() Field 1)访问变量或给变量赋值 Method 1)执行具体类对象的指定方法 3 ...

  5. Selenium4+Python3系列(十一) - Page Factory设计模式

    写在前面: Page Object模式,目的是将元素定位和元素操作分层,只接触测试内容,不写基础内容,便于后续对自动化测试用例体系的维护,这是中心思想,也是核心. 那么我们继续将简洁延续,这里沿用Ja ...

  6. Kubernetes单机创建MySQL+Tomcat演示程序:《Kubernetes权威指南》第一章demo报错踩坑

    引言 最近做边缘计算项目,因为没有基础,所以首先学习Kubernetes.感觉系统的中文入门资料比较少,只找到<Kubernetes权威指南>(龚正.吴治辉等著,下称<指南>) ...

  7. adb安装电视apk

    adb 是什么? 百度说明:adb工具即Android Debug Bridge(安卓调试桥) tools.它就是一个命令行窗口,用于通过电脑端与模拟器或者真实设备交互.在某些特殊的情况下进入不了系统 ...

  8. selenium 之可视模式、静默模式、忽略证书不可用的设置

    1.可视模式的设置(在前台工作) from selenium import webdriver import time url = "https://y.qq.com/n/ryqq/song ...

  9. Jmeter 之提取的值为null时,if控制器中的判断表达式

    场景:当level的值为null时则执行 {"code":0, "msg":null, "data": [ { "level&qu ...

  10. Ubuntu:Docker启动与停止

    安装完成Docker后,默认已经启动了docker服务,如需手动控制docker服务的启停,可执行如下命令 启动docker sudo service docker start 停止docker su ...