tripeur il y a 4 ans
Parent
commit
d62405821b
1 fichiers modifiés avec 10 ajouts et 2 suppressions
  1. 10 2
      src/utils/syncroScroll.ts

+ 10 - 2
src/utils/syncroScroll.ts

@@ -7,9 +7,17 @@ export default function syncronizeElementsScrolling(
   let activeScroller: HTMLElement | null = null;
   const bSyncroV = direction.indexOf("v") > -1;
   const bSyncroH = direction.indexOf("h") > -1;
+  const setActive = function (e: MouseEvent) {
+    activeScroller = e.target as HTMLElement;
+  };
   const applyListener = function (element: HTMLBaseElement) {
-    element.addEventListener("mouseenter", function (e: MouseEvent) {
-      activeScroller = e.target as HTMLElement;
+    element.addEventListener("mouseenter", setActive);
+
+    element.addEventListener("mousedown", () => {
+      elements.forEach((e) => e.removeEventListener("mouseenter", setActive));
+      window.addEventListener("mouseup", () =>
+        elements.forEach((e) => e.addEventListener("mouseenter", setActive))
+      );
     });
     element.addEventListener("scroll", function (e: Event) {
       if (e.target !== activeScroller) return;