Echarts扩大点击范围

使用场景:

在这里插入图片描述
当我们想点击柱子触发click事件,有些数据太小了无法轻易找到点击处
1:只有点击到柱子上才能触发,2:只有鼠标指示为小手?时才能触发

引出问题:

1:扩大点击范围,点击整条阴影部分可触发点击事件
2:鼠标指示到阴影部分(可触发事件部分)显示小手预示可点击

解决问题:

部分代码↓

this.charts.getZr().off('click')// 防止点击调用多次

// 鼠标移动到阴影范围 setCursorStyle('pointer')
this.charts.getZr().on('mousemove', param => {
    var pointInPixel= [param.offsetX, param.offsetY];
      if (this.charts.containPixel('grid',pointInPixel)) {//若鼠标滑过区域位置在当前图表范围内 鼠标设置为小手
          this.charts.getZr().setCursorStyle('pointer')
      }else{
        this.charts.getZr().setCursorStyle('default')
      }
})
this.charts.getZr().on('click', function (params){
	let pointInPixel = [params.offsetX, params.offsetY]
	let pointInGrid = this.charts.convertFromPixel({ seriesIndex: 0 }, pointInPixel)
    // 柱状图-竖向(数据的索引值)
    const op = instance.getOption();
    const month = op.xAxis[0].data[pointInGrid[0]];  //获取点击的列名
    if (this.charts.containPixel('grid',pointInPixel)) {
             // 逻辑代码
})

版权声明:本文为z15533031600原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。