赞
踩
普通方式绑定的click事件,只要通过off就可以阻止
var myChart = echarts.init(document.getElementById('chartBox'));
var option = {...};
myChart.setOption(option);
//off阻止多次触发
myChart..off('click');
myChart.on('click', function(param) {
//这个params可以获取你要的图中的当前点击的项的参数
console.dir(param)
});
getZr方式绑定事件
使用getZr()添加图表的整个canvas区域的点击事件
if (myChart.getZr().handler._$handlers.click && myChart.getZr().handler._$handlers.click.length) { myChart.getZr().handler._$handlers.click.length = 0; } myChart.getZr().on('click', (params) => { // console.log(params,111) /* 获取到鼠标点击位置 */ const pointInPixel = [params.offsetX, params.offsetY]; if ( this.salesScaleChartObj2.chartDiv.containPixel('grid', pointInPixel) ) { /* 过滤了绘制图形的网格外的点击事件 */ /* 获取点击位置对应的x轴数据的索引值 */ // let xIndex=storeAgeTrendChartObj.convertFromPixel({seriesIndex:0},[params.offsetX, params.offsetY])[0]; /* 获取myChart的series,并根据索引值获取data */ // let ds = option.series[0].data[xIndex]; /* 第几个(X轴索引) */ const dateIndex = this.salesScaleChartObj2.chartDiv.convertFromPixel( { seriesIndex: 0 }, [params.offsetX, params.offsetY], )[0]; } });
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。