From 9527f15f52f859ae5f565fc56dc7938930143828 Mon Sep 17 00:00:00 2001 From: "Jessica R." <60241371+Seafret@users.noreply.github.com> Date: Wed, 1 Jan 2025 22:45:12 -0700 Subject: [PATCH] Changed hasScrollHandler to be a function to better work with dynamically added handlers Previously, we were setting hasScrollHandler once in the constructor and never re-assigning it after the initial creation. Changing hasScrollHandler to a function better accommodates dynamically added/removed handlers. See previous commit for change to hasGestureHandlers for further details and reasoning. --- src/mousetracker.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/mousetracker.js b/src/mousetracker.js index d64ef0b5..ffba58b6 100644 --- a/src/mousetracker.js +++ b/src/mousetracker.js @@ -277,8 +277,6 @@ sentDragEvent: false }; - this.hasScrollHandler = !!this.scrollHandler; - if ( $.MouseTracker.havePointerEvents ) { $.setElementPointerEvents( this.element, 'auto' ); } @@ -403,6 +401,15 @@ this.pinchHandler); }, + /** + * Do we currently have a scroll handler. + * @function + * @returns {Boolean} Do we currently have a scroll handler. + */ + hasScrollHandler: function () { + return !!this.scrollHandler; + }, + /** * Implement or assign implementation to these handlers during or after * calling the constructor. @@ -2881,7 +2888,7 @@ eventInfo.isStoppable = true; eventInfo.isCancelable = true; eventInfo.preventDefault = false; // handleWheelEvent() may set true - eventInfo.preventGesture = !tracker.hasScrollHandler; + eventInfo.preventGesture = !tracker.hasScrollHandler(); eventInfo.stopPropagation = false; break; case 'gotpointercapture':