Отключение масштабирования с прокруткой в представлении с использованием приведенного ниже кода (, например, демонстрация esri здесь ) не препятствует запуску события элемента DOM wheel
, которое предотвращает прокрутку страницы по умолчанию;
//this prevent the mapView to zoom on wheel but does not make the page to scroll as wanted
view.on("mouse-wheel", function(event) {
// disable mouse wheel scroll zooming on the view
event.stopPropagation();
});
Итак, вам нужно добавить прослушиватель события wheel для элемента DOM, который обрабатывает событие колеса esri, а затем выполнить event.stopImmediatePropagation()
, чтобы событие колеса esri, отменяющеепрокрутка страницы по умолчанию не будет запускаться.
С API v.4.9 элемент DOM, который вы должны использовать, имеет esri-view-surface
класс
var viewSurfaceElem = document.getElementsByClassName("esri-view-surface")[0];
viewSurfaceElem.addEventListener("wheel", function(event) { event.stopImmediatePropagation(); });
См. демонстрационную версию здесь: https://codepen.io/anon/pen/bQLwwm