瀏覽代碼

[Mod 0000]当鼠标拖动ai助手和菜单时,不可打开该功能

wangkeyi 4 天之前
父節點
當前提交
30352a4b9b

+ 10 - 0
src/layouts/default/index.vue

@@ -148,6 +148,16 @@
         const handleDragEnd = () => {
           if (dragged) {
             isDragging.value = false;
+            // 拖拽结束后阻止随后触发的 click 事件
+            const iconEl = document.querySelector('.ai-float-icon');
+            if (iconEl) {
+              const preventClick = (e: MouseEvent) => {
+                e.stopPropagation();
+                e.preventDefault();
+                iconEl.removeEventListener('click', preventClick, true);
+              };
+              iconEl.addEventListener('click', preventClick, true);
+            }
           }
           document.removeEventListener('mousemove', handleDragMove);
           document.removeEventListener('mouseup', handleDragEnd);

+ 10 - 3
src/layouts/default/sider/bottomSideder.vue

@@ -148,11 +148,18 @@
           }
         };
 
-        const onUp = (ev: MouseEvent) => {
+        const onUp = () => {
           if (dragged) {
             isDragging.value = false;
-            ev.preventDefault();
-            ev.stopPropagation();
+            const iconEl = document.querySelector('.menu-show-icon .icon');
+            if (iconEl) {
+              const preventClick = (e: MouseEvent) => {
+                e.stopPropagation();
+                e.preventDefault();
+                iconEl.removeEventListener('click', preventClick, true);
+              };
+              iconEl.addEventListener('click', preventClick, true);
+            }
           }
           document.removeEventListener('mousemove', onMove);
           document.removeEventListener('mouseup', onUp);

+ 10 - 3
src/layouts/default/sider/bottomSideder3.vue

@@ -135,11 +135,18 @@
           }
         };
 
-        const onUp = (ev: MouseEvent) => {
+        const onUp = () => {
           if (dragged) {
             isDragging.value = false;
-            ev.preventDefault();
-            ev.stopPropagation();
+            const iconEl = document.querySelector('.menu-show-icon .icon');
+            if (iconEl) {
+              const preventClick = (e: MouseEvent) => {
+                e.stopPropagation();
+                e.preventDefault();
+                iconEl.removeEventListener('click', preventClick, true);
+              };
+              iconEl.addEventListener('click', preventClick, true);
+            }
           }
           document.removeEventListener('mousemove', onMove);
           document.removeEventListener('mouseup', onUp);