echart中鼠标滚轮无法触发echart外部浏览器的滚动条
时间: 2023-11-11 13:20:12 浏览: 96
2.0DataGrid嵌套DataGrid,里面的鼠标滚动响应到外部,利用自定义命令传递滚轮事件参数实现
ECharts 中鼠标滚轮事件会默认阻止浏览器的滚动条事件,所以你需要手动添加监听器来解决这个问题。以下是一些可能的解决方法:
1. 在 ECharts 实例化时,添加全局监听器,使浏览器的滚动条能够响应鼠标滚轮事件,代码如下:
```javascript
var myChart = echarts.init(document.getElementById('myChart'));
// 添加全局监听器
myChart.getZr().on('mousewheel', function (params) {
var event = params.event;
var delta = event.wheelDelta ? event.wheelDelta : -event.detail;
var scrollElement = event.target;
// 手动设置浏览器的滚动条
scrollElement.scrollBy(0, -delta);
});
```
2. 在 ECharts 实例化时,禁用 ECharts 的鼠标滚轮事件,然后手动设置浏览器的滚动条,代码如下:
```javascript
var myChart = echarts.init(document.getElementById('myChart'));
// 禁用 ECharts 的鼠标滚轮事件
myChart.setOption({
toolbox: {
feature: {
dataZoom: {
zoomLock: true
},
brush: {
type: ['rect', 'polygon', 'clear']
}
}
}
});
// 手动设置浏览器的滚动条
myChart.getZr().on('mousewheel', function (params) {
var event = params.event;
var delta = event.wheelDelta ? event.wheelDelta : -event.detail;
var scrollElement = event.target;
scrollElement.scrollBy(0, -delta);
});
```
以上两种方式都可以解决 ECharts 中鼠标滚轮无法触发浏览器滚动条的问题。
阅读全文