Firefox中的Highcharts鼠标滚轮滚动事件

时间:2018-09-18 14:20:25

标签: javascript firefox highcharts mousewheel

我有一个带有鼠标滚轮滚动事件的Highcharts组件。

除firefox之外,所有浏览器都运行正常。在firefox中,mousewheel事件会触发Highcharts组件和整个窗口中的滚动。我试图添加event.preventDefault()和event.stopPropagation(),但没有解决问题。滚动Highcharts组件时,是否有办法防止整个窗口滚动?

1 个答案:

答案 0 :(得分:1)

出现问题是因为DOMMouseScrollmousewheel事件现在已被弃用,并由新的wheel事件取代,该事件在所有浏览器中均有效。您需要在代码中替换两件事才能使其正常工作。

首先,请在此处更改事件名称:

H.addEvent(chart.container, 'wheel', function(event) {

然后在您的wheel事件函数主体中,将增量分配替换为:

delta = e.detail || -(e.deltaY / 120);
delta = delta < 0 ? 1 : -1;

现在,它在所有浏览器中的工作方式都相同。

实时示例: http://jsfiddle.net/d3r8pb7c/

API参考:

https://developer.mozilla.org/en-US/docs/Web/Events/wheel

https://developer.mozilla.org/en-US/docs/Web/Events/mousewheel

https://developer.mozilla.org/en-US/docs/Web/Events/DOMMouseScroll