echarts柱状图的点击事件代码示例

 更新时间:2023年09月10日 11:19:39   作者:湛海不过深蓝  
这篇文章主要给大家介绍了关于echarts柱状图点击事件的相关资料,在实际的项目开发中我们通常会用到Echarts来对数据进行展示,有时候需要用到Echarts的点击事件,增加系统的交互,需要的朋友可以参考下

先来一段简洁的写echarts图表的代码:

// 这样获取echarts的dom节点是因为:如果将柱状图封装成了一个组件,在一个页面中多次使用,若还是按常规获取dom节点,会报一个警告
let charts = echarts.getInstanceByDom(
  document.getElementById(props.id)
)
if (charts == null) {
  charts = echarts.init(document.getElementById(props.id))
}
charts.clear()
let option = {
	...
}
charts.resize()
charts.setOption(option)

如图所示,如果柱状图需要有点击事件: 但这只是点击蓝色柱条部分才会触发点击事件的写法

myChart.on('click', function (params) {
	console.log(params)
})

如果柱条没有数据,用上述方法点击时将不会触发,如果无数据点击背景也依旧想触发点击事件,就用下面方法:

charts.getZr().off('click')		// 先取消点击,再触发,免得造成连续抖动触发
charts.getZr().on('click', function (params) {
	// 这个部分照抄,你想通过点击拿到的当前柱条的数据,都可以在下面这些属性中拿到,如果我注释没有你想要的,需要console一下charts.getOption()查找对应的属性名
    let pointInPixel = [params.offsetX, params.offsetY];
    if (charts.containPixel('grid', pointInPixel)) {
      let pointInGrid = charts.convertFromPixel({
        seriesIndex: 0
      }, pointInPixel);
      let xIndex = pointInGrid[1]; 			// 索引
      let handleIndex = Number(xIndex);
      let seriesObj = charts.getOption(); 	// 图表object对象
      let op = charts.getOption();
      //获得图表中点击的列
      let dataY = op.yAxis[0].data[handleIndex];  			//获取点击的列名
      let dataX = seriesObj.series[0].data[handleIndex]   	// 获取当前点击的柱条的数值 
		... // 写获取到当前点击需要的数值后的操作   
    }
})

另外,再补充一下划过和划出事件的写法,属性是一样的,就是事件名比较独特: mousemove mouseout,这两对应,必须这样写,写其他的可能无效

// 划过
charts.getZr().off('mousemove');
charts.getZr().on('mousemove', function(params) {
})
// 划出
charts.getZr().off('mouseout');
charts.getZr().on('mouseout', function(params) {
})

总结 

到此这篇关于echarts柱状图的点击事件的文章就介绍到这了,更多相关echarts柱状图点击事件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • js判断一个字符串是以某个字符串开头的简单实例

    js判断一个字符串是以某个字符串开头的简单实例

    下面小编就为大家带来一篇js判断一个字符串是以某个字符串开头的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • js输入中文效果

    js输入中文效果

    js输入中文效果...
    2006-09-09
  • 纯js实现打字机效果

    纯js实现打字机效果

    这篇文章主要为大家详细介绍了纯js实现打字机效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • 第五章之BootStrap 栅格系统

    第五章之BootStrap 栅格系统

    Bootstrap,来自 Twitter,是目前最受欢迎的前端框架。本文给大家介绍BootStrap 栅格系统的相关资料,需要的朋友可以参考下
    2016-04-04
  • 详谈for循环里面的break和continue语句

    详谈for循环里面的break和continue语句

    下面小编就为大家带来一篇详谈for循环里面的break和continue语句。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • JavaScript实现PDF加载与显示的技术指南

    JavaScript实现PDF加载与显示的技术指南

    在Web开发中,利用JavaScript技术加载和显示PDF文件是一种常见需求,尤其是在文档预览或在线阅读器的开发中,本文详细介绍了使用JavaScript库,特别是PDF.js,来实现PDF文件在浏览器中的加载和显示,需要的朋友可以参考下
    2025-08-08
  • 前端实现Word在线预览功能详解

    前端实现Word在线预览功能详解

    这篇文章主要给大家介绍了关于前端实现Word在线预览功能的相关资料,工作中经常有时会遇到需要给用户创建word文档并实现word文档在线预览的需求,需要的朋友可以参考下
    2023-09-09
  • 原生JS实现的跳一跳小游戏完整实例

    原生JS实现的跳一跳小游戏完整实例

    这篇文章主要介绍了原生JS实现的跳一跳小游戏,结合完整实例形式分析了javascript实现跳一跳游戏的原理、实现步骤与相关操作技巧,需要的朋友可以参考下
    2019-01-01
  • 基于JS实现checkbox全选功能实例代码

    基于JS实现checkbox全选功能实例代码

    最近做了个项目其中有这样的需求要求实现点击全选选中所有菜单,再次点击全选取消选中。下面小编给大家分享实现代码,对js实现checkbox全选功能感兴趣的朋友参考下吧
    2016-10-10
  • TypeScript实现箭头函数

    TypeScript实现箭头函数

    本文主要介绍了TypeScript实现箭头函数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧的相关资料
    2025-06-06

最新评论