当前位置: 首页 > article >正文

解决echarts的柱状图和折线图的点击非图表图形元素不会触发事件

this.echart.getZr().on('click',params=>{

const pointInPixel= [params.offsetX, params.offsetY];

if (this.echart.containPixel('grid',pointInPixel)) {

let xIndex=this.echart.convertFromPixel({seriesIndex:0},[params.offsetX, params.offsetY])[0];

/*事件处理代码书写位置*/

}

});

实现的代码解释如下:

使用getZr添加图表的整个canvas区域的点击事件,并获取params携带的信息:

this.echart.getZr().on('click',params=>{})

获取到鼠标点击位置:

const pointInPixel= [params.offsetX, params.offsetY];

使用containPixel API判断点击位置是否在显示图形区域,下面的例子过滤了绘制图形的网格外的点击事件,比如X、Y轴lable、空白位置等的点击事件。

if (this.echart.containPixel('grid',pointInPixel)) {}

使用API convertFromPixel获取点击位置对应的x轴数据的索引值,我的实现是借助于索引值的,当然可以获取到其它的信息,详细请查看文档。

let xIndex=this.echart.convertFromPixel({seriesIndex:0},[params.offsetX, params.offsetY])[0];

其实在上一步骤中可以获取到丰富的诸如轴线、索引、ID等信息,可以在自己的事件处理代码中方便的使用。

粘贴自https://blog.csdn.net/qq_34266804/article/details/89643196


http://www.kler.cn/a/4373.html

相关文章:

  • 掌握C语言内存布局:数据存储的智慧之旅
  • Windows 正确配置android adb调试的方法
  • 实现类似Excel的筛选
  • UML系列之Rational Rose笔记九:组件图
  • 深入了解生成对抗网络(GAN):原理、实现及应用
  • 蓝桥杯第二天学习笔记
  • 轻松拿下年薪35W+Offer!这15个高频开发面试问题必须掌握!
  • printf()函数
  • 企业邮箱的定义和要求
  • MySQL调优
  • 1.2 从0开始学Unity游戏开发--运行原理
  • vue-antd-admin——实现全网站选项的切换并实现页面的刷新——技能提升
  • iOS私有pod库的gitignore文件
  • 关于清除浮动
  • Linux中find命令使用示例
  • 聊一聊前端的性能指标
  • CSS transition 小技巧!如何保留 hover 的状态
  • 图解redis的AOF持久化
  • thinkphp+vue水果购物商城网站
  • 二维前缀和求子矩阵
  • VSQT 联编无转到槽选项--VS2019中使用QT建立信号和槽函数连接
  • Pytorch线性模型实现——up主:刘二大人《PyTorch深度学习实践》
  • Spring —— Spring简单的读取和存储对象Ⅰ
  • php使用yield处理大数据文件
  • Python中 join() 函数的使用方法
  • vue+springboot贫困山区儿童衣物捐赠网站系统