From c18f4aa8ed6ffa6b4c17b7afda961ec5e85c90ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BC=96=E7=A8=8B=E7=95=8C=E7=9A=84=E5=B0=8F=E5=AD=A6?= =?UTF-8?q?=E7=94=9F?= <15620646321@163.com> Date: Fri, 14 Mar 2025 16:30:34 +0800 Subject: [PATCH 1/2] Update node_info.js --- node_info.js | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/node_info.js b/node_info.js index ef8c309..63b41cf 100644 --- a/node_info.js +++ b/node_info.js @@ -110,9 +110,9 @@ const ButtonManager = { const divider = document.createElement('div'); divider.classList.add('divider'); // 添加拖拽功能 - divider.addEventListener('mousedown', this.onDragStart.bind(this)); - document.addEventListener('mousemove', this.onDragging.bind(this)); - document.addEventListener('mouseup', this.onDragEnd.bind(this)); + divider.addEventListener('mousedown', this.boundOnDragStart); + document.addEventListener('mousemove', this.boundOnDragging); + document.addEventListener('mouseup', this.boundOnDragEnd); this.buttonContainer.appendChild(divider); } else { @@ -163,6 +163,10 @@ const ButtonManager = { } else { this.show() } + + this.boundOnDragStart = this.onDragStart.bind(this); + this.boundOnDragging = this.onDragging.bind(this); + this.boundOnDragEnd = this.onDragEnd.bind(this); }, // 获取按钮配置 @@ -296,8 +300,8 @@ const ButtonManager = { onDragEnd() { this.isDragging = false; // 移除事件监听器 - document.removeEventListener('mousemove', this.onDragging); - document.removeEventListener('mouseup', this.onDragEnd); + document.removeEventListener('mousemove', this.boundOnDragging); + document.removeEventListener('mouseup', this.boundOnDragEnd); // 获取按钮容器的位置信息 const rect = this.buttonContainer.getBoundingClientRect(); @@ -337,6 +341,14 @@ const ButtonManager = { // 保存位置到 localStorage localStorage.setItem('NodeAlignerButtonContainerPosition', JSON.stringify({ top, left, right, bottom })); }, + destroy() { + const divider = this.buttonContainer.querySelector('.divider'); + if (divider) { + divider.removeEventListener('mousedown', this.boundOnDragStart); + } + document.removeEventListener('mousemove', this.boundOnDragging); + document.removeEventListener('mouseup', this.boundOnDragEnd); + }, // 恢复位置 restorePosition() { try { From 84374ba50ee870f3ba157770c9c0f6c283c20e96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BC=96=E7=A8=8B=E7=95=8C=E7=9A=84=E5=B0=8F=E5=AD=A6?= =?UTF-8?q?=E7=94=9F?= <15620646321@163.com> Date: Fri, 14 Mar 2025 16:36:11 +0800 Subject: [PATCH 2/2] Update node_info.js --- node_info.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/node_info.js b/node_info.js index 63b41cf..eb10299 100644 --- a/node_info.js +++ b/node_info.js @@ -26,6 +26,8 @@ const ButtonManager = { init() { if (this.isInitialized) return; // 如果已经初始化过,不再重复创建 + + this.boundOnDragStart = this.onDragStart.bind(this); this.boundOnDragging = this.onDragging.bind(this); this.boundOnDragEnd = this.onDragEnd.bind(this); @@ -163,10 +165,6 @@ const ButtonManager = { } else { this.show() } - - this.boundOnDragStart = this.onDragStart.bind(this); - this.boundOnDragging = this.onDragging.bind(this); - this.boundOnDragEnd = this.onDragEnd.bind(this); }, // 获取按钮配置 @@ -348,6 +346,8 @@ const ButtonManager = { } document.removeEventListener('mousemove', this.boundOnDragging); document.removeEventListener('mouseup', this.boundOnDragEnd); + + this.isInitialized = false; }, // 恢复位置 restorePosition() {