diff --git a/src/lib/scroller/index.js b/src/lib/scroller/index.js index 64e33d579..656e34f25 100644 --- a/src/lib/scroller/index.js +++ b/src/lib/scroller/index.js @@ -599,6 +599,13 @@ const scrollerFactory = function (frame, options) { let delta = normalizeWheelDelta(event); if (transform) { + if (o.horizontal && event.deltaX !== 0 + && (event.deltaY >= -5 && event.deltaY <= 5) + && (pos.dest + o.scrollBy * delta > 0) + && (pos.dest + o.scrollBy * delta < pos.end) + ) { + event.preventDefault(); + } self.slideBy(o.scrollBy * delta); } else { if (isSmoothScrollSupported) { @@ -630,7 +637,7 @@ const scrollerFactory = function (frame, options) { }); dom.removeEventListener(scrollSource, wheelEvent, scrollHandler, { - passive: true + passive: false }); dom.removeEventListener(dragSourceElement, 'touchstart', dragInitSlidee, { @@ -794,7 +801,7 @@ const scrollerFactory = function (frame, options) { if (o.mouseWheel) { // Scrolling navigation dom.addEventListener(scrollSource, wheelEvent, scrollHandler, { - passive: true + passive: false }); } } else if (o.horizontal && o.mouseWheel) { @@ -802,7 +809,7 @@ const scrollerFactory = function (frame, options) { // Scrolling navigation dom.addEventListener(scrollSource, wheelEvent, scrollHandler, { - passive: true + passive: false }); }