Skip to content

Commit be09433

Browse files
committed
fix(scroll): fix IE mousewheel scroll
2 parents 300528e + 25e173a commit be09433

File tree

1 file changed

+20
-18
lines changed

1 file changed

+20
-18
lines changed

js/views/scrollView.js

+20-18
Original file line numberDiff line numberDiff line change
@@ -811,6 +811,24 @@ ionic.views.Scroll = ionic.views.View.inherit({
811811
}
812812
};
813813

814+
self.mouseWheel = ionic.animationFrameThrottle(function(e) {
815+
var scrollParent = ionic.DomUtil.getParentOrSelfWithClass(e.target, 'ionic-scroll');
816+
if (!self.options.freeze && scrollParent === self.__container) {
817+
818+
self.hintResize();
819+
self.scrollBy(
820+
(e.wheelDeltaX || e.deltaX || 0) / self.options.wheelDampen,
821+
(-e.wheelDeltaY || e.deltaY || 0) / self.options.wheelDampen
822+
);
823+
824+
self.__fadeScrollbars('in');
825+
clearTimeout(self.__wheelHideBarTimeout);
826+
self.__wheelHideBarTimeout = setTimeout(function() {
827+
self.__fadeScrollbars('out');
828+
}, 100);
829+
}
830+
});
831+
814832
if ('ontouchstart' in window) {
815833
// Touch Events
816834
container.addEventListener("touchstart", self.touchStart, false);
@@ -826,6 +844,7 @@ ionic.views.Scroll = ionic.views.View.inherit({
826844
document.addEventListener("pointermove", self.touchMove, false);
827845
document.addEventListener("pointerup", self.touchEnd, false);
828846
document.addEventListener("pointercancel", self.touchEnd, false);
847+
document.addEventListener("wheel", self.mouseWheel, false);
829848

830849
} else if (window.navigator.msPointerEnabled) {
831850
// IE10, WP8 (Pointer Events)
@@ -834,6 +853,7 @@ ionic.views.Scroll = ionic.views.View.inherit({
834853
document.addEventListener("MSPointerMove", self.touchMove, false);
835854
document.addEventListener("MSPointerUp", self.touchEnd, false);
836855
document.addEventListener("MSPointerCancel", self.touchEnd, false);
856+
document.addEventListener("wheel", self.mouseWheel, false);
837857

838858
} else {
839859
// Mouse Events
@@ -877,24 +897,6 @@ ionic.views.Scroll = ionic.views.View.inherit({
877897
mousedown = false;
878898
};
879899

880-
self.mouseWheel = ionic.animationFrameThrottle(function(e) {
881-
var scrollParent = ionic.DomUtil.getParentOrSelfWithClass(e.target, 'ionic-scroll');
882-
if (!self.options.freeze && scrollParent === self.__container) {
883-
884-
self.hintResize();
885-
self.scrollBy(
886-
(e.wheelDeltaX || e.deltaX || 0) / self.options.wheelDampen,
887-
(-e.wheelDeltaY || e.deltaY || 0) / self.options.wheelDampen
888-
);
889-
890-
self.__fadeScrollbars('in');
891-
clearTimeout(self.__wheelHideBarTimeout);
892-
self.__wheelHideBarTimeout = setTimeout(function() {
893-
self.__fadeScrollbars('out');
894-
}, 100);
895-
}
896-
});
897-
898900
container.addEventListener("mousedown", self.mouseDown, false);
899901
if(self.options.preventDefault) container.addEventListener("mousemove", self.mouseMoveBubble, false);
900902
document.addEventListener("mousemove", self.mouseMove, false);

0 commit comments

Comments
 (0)