Highcharts событие прокрутки колесика мыши в Firefox - PullRequest
0 голосов
/ 18 сентября 2018

У меня есть компонент Highcharts с событием прокрутки колесика мыши.

Все работает нормально во всех браузерах, кроме Firefox.В Firefox событие mousewheel запускает прокрутку как компонента Highcharts, так и всего окна.Я пытался добавить event.preventDefault () и event.stopPropagation (), но это не решило проблему.Есть ли способ предотвратить прокрутку всего окна при прокрутке компонента Highcharts?

1 Ответ

0 голосов
/ 19 сентября 2018

Ваша проблема возникает из-за того, что события DOMMouseScroll и mousewheel теперь устарели и заменены новым событием 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

...