diff --git a/web/grab_to_pan.js b/web/grab_to_pan.js index c6cb38c8c..8eaae7766 100644 --- a/web/grab_to_pan.js +++ b/web/grab_to_pan.js @@ -142,7 +142,6 @@ this.element.addEventListener('scroll', this._endPan, true); event.preventDefault(); event.stopPropagation(); - this.document.documentElement.classList.add(this.CSS_CLASS_GRABBING); var focusedElement = document.activeElement; if (focusedElement && !focusedElement.contains(event.target)) { @@ -161,8 +160,18 @@ } var xDiff = event.clientX - this.clientXStart; var yDiff = event.clientY - this.clientYStart; - this.element.scrollTop = this.scrollTopStart - yDiff; - this.element.scrollLeft = this.scrollLeftStart - xDiff; + var scrollTop = this.scrollTopStart - yDiff; + var scrollLeft = this.scrollLeftStart - xDiff; + if (this.element.scrollTo) { + this.element.scrollTo({ + top: scrollTop, + left: scrollLeft, + behavior: 'instant', + }); + } else { + this.element.scrollTop = scrollTop; + this.element.scrollLeft = scrollLeft; + } if (!this.overlay.parentNode) { document.body.appendChild(this.overlay); }