使用场景:
当我们想点击柱子触发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版权协议,转载请附上原文出处链接和本声明。