普通方式绑定的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];
}
});