From cf8cea8b130766ce192cd9a4efe2d9f9f091d63e Mon Sep 17 00:00:00 2001 From: Hyunje Alex Jun Date: Tue, 6 Aug 2013 15:14:55 +0900 Subject: [PATCH] Fix that wheelPropagation option doesn't work in Firefox. --- src/perfect-scrollbar.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/perfect-scrollbar.js b/src/perfect-scrollbar.js index 1a5927a..a79bf9b 100644 --- a/src/perfect-scrollbar.js +++ b/src/perfect-scrollbar.js @@ -239,6 +239,7 @@ return true; }; + var shouldPrevent = false; $this.bind('mousewheel.perfect-scroll', function (e, delta, deltaX, deltaY) { $this.scrollTop($this.scrollTop() - (deltaY * settings.wheelSpeed)); $this.scrollLeft($this.scrollLeft() + (deltaX * settings.wheelSpeed)); @@ -246,14 +247,18 @@ // update bar position updateBarSizeAndPosition(); - if (shouldPreventDefault(deltaX, deltaY)) { + shouldPrevent = shouldPreventDefault(deltaX, deltaY); + if (shouldPrevent) { e.preventDefault(); } }); // fix Firefox scroll problem - $this.bind('DOMMouseScroll.perfect-scroll', function (e) { e.preventDefault(); }); - $this.bind('MozMousePixelScroll.perfect-scroll', function (e) { e.preventDefault(); }); + $this.bind('MozMousePixelScroll.perfect-scroll', function (e) { + if (shouldPrevent) { + e.preventDefault(); + } + }); }; // bind mobile touch handler