Echarts设置点击事件

本文介绍如何在Echarts中使用点击事件实现参数传递和页面跳转,探讨两种方法:一是直接绑定到图表元素,二是通过坐标判断点击位置,解决小数值不易触发的问题。

通常在使用Echarts画图之后会碰到一个需求,通过点击生成后图形具体某一项来传递相应的参数然后进行一个页面的跳转,当我遇到这个需求第一就想到了用on绑定点击事件的方法,然后就在代码上进行尝试,果然可以实现这个功能,我在这块展示的是一个柱状图,通过点击事件输出一下获取的参数可以得到什么结果呢?
代码如下:

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

我们通过点击柱状图的每一项可以看到输出了如下对应项的详细信息:
这里写图片描述
在这块我点击了8月份降水量,可以看到这块输出了,这一栏所对应的信息,包括名称seriesName:降水量,以及data值182.2,还以一些其他的信息,同样点击其他的也可以输出对应信息,这样我们就可以进行点击跳转并且传递对应的参数就ok了,这也是我首先想到的方法。


但是这个方法有一个不友好的地方就是只有用户点击到柱状图上它才会触发到这个点击事件,比如图中的一月份对应的数值就特别小,点击那一列的其他位置是没有作用的,只有点击阴影部分才触发,只一点对于用户来说就非常不友好,因此我找到了另外一种方法实现这个需求,通过点击所在值的这一列就会触发,实现代码如下:

myChart.getZr().on('click',function(params){
	let point=[params.offsetX,params.offsetY];
	if(myChart.containPixel('gird',point)){
		let xIndex=myChart.convertFromPixel({seriesIndex:0},
              point)[0];
	    let op=myChart.getOption();
	    let name=op.xAxis[0].data[xIndex];
	}
})

这部分的代码可以实现点击某一列就能触发这个事件,主要的信息集中在op这个变量中,name变量是点击某一列对应的名称,使用时可以将这个变量打印出来然后选择所需要传递的参数,其实这个代码是通过鼠标点击图形的坐标来进行判断点击的位置属于哪一列,从而实现这个需求,在这块我在写的时候碰到一个问题,有一个图形点击一次总是触发两次这个函数,如果你也出现了这个问题可以通过在绑定事件之前加上一句代码。

myChart.getZr().off('click');
打开下面链接,直接免费下载资源: https://renmaiwang.cn/s/nvg06 基于echarts提供的点击事件框架,在现有基础上增加单击和双击事件配置项,实现单击与双击事件的协同工作。该开发实例采用html与jquery技术基础搭建一个简单的混合单双击事件演示页面。 ECharts是一种使用JavaScript实现的开源可视化库,它可以在网页中创建交互式的数据可视化图表。在本次提供的文件中,ECharts被进一步扩展,以便支持单击和双击事件。该文件通过演示页面展示了如何在使用ECharts构建的图表上实现点击事件的处理。通过在ECharts的配置项中增加对点击事件的支持,开发者可以灵活地定义图表在接收到单击或双击操作时的响应行为。 该开发实例的核心在于创建了一个名为demo.html的演示页面,它不仅展示了单击和双击事件的基本使用,还演示了这两种事件如何协同工作以实现更加复杂的交互逻辑。页面的构建基于HTML和jQuery技术,这两种技术是网页开发中常用的技术栈,能够帮助开发者快速搭建网页应用和交互功能。 通过访问提供的源码免费下载链接,开发者可以获得完整的源代码。这些源代码是公开的,可以被自由下载和使用,非常适合那些希望学习ECharts以及如何在其图表中实现交互事件的开发者。源代码不仅包括了实现单击和双击事件的逻辑,还可能包含了将这些事件应用在不同图表类型上的示例,例如柱状图、折线图、饼图等,从而提供了一个全面的学习和参考平台。 综合来看,这次提供的ECharts点击事件演示页面不仅有助于开发者了解和掌握ECharts点击事件的配置和应用,还展示了如何将这些技术应用到实际开发中去。这对于提高开发者的前端可视化能力有着重要的指导意义,并能够帮助他们创建出更加动态和交互性强的网页应用。此外,该演示页面还能够作为教学资源,帮助那些刚接触数据可视化或者E
评论 10
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值