echarts绑定/解绑点击事件与formatter配合使用达到效果:getZr().on()可以捕捉整个echarts的canvas的点击事件,formatter只有在点击到页面数据的时候有效,所以只有formatter可以拿到点击的具体值;formatter是回调事件,比getZr().on()绑定的点击事件先执行,但每次点击formatter执行两次。由此可以通过在getZr().on()方法中判断formatter是否执行过来决定后续操作,比如执行过就获取并展示数据,没有就关闭弹窗等操作。
tooltip: {
formatter: function (params) {
isShowData = true;
_this.showWaterData(params, optionParams);
return '';
}
},
waterChart.getZr().off('click');
waterChart.getZr().on('click', (parmas) => {
if(!isShowData){
_this.closeData();
} else {
isShowData = false;
}
})