Skip to content

Commit 8156e63

Browse files
committed
fix: remove the drag drop event listeners before adding it again
1 parent de2d4e7 commit 8156e63

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

src/LiveDevelopment/BrowserScripts/RemoteFunctions.js

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2148,13 +2148,26 @@ function RemoteFunctions(config = {}) {
21482148
svgElement = svgElement.parentElement;
21492149
}
21502150
if (svgElement && svgElement.tagName.toLowerCase() === 'svg') {
2151-
svgElement.addEventListener("mousedown", (event) => { onDragMouseDown(event, svgElement); });
2151+
if (svgElement._dragMouseDownHandler) {
2152+
svgElement.removeEventListener("mousedown", svgElement._dragMouseDownHandler);
2153+
}
2154+
svgElement._dragMouseDownHandler = (event) => { onDragMouseDown(event, svgElement); };
2155+
svgElement.addEventListener("mousedown", svgElement._dragMouseDownHandler);
21522156
}
21532157

21542158
} else { // for normal elements
2159+
if (this.element._dragStartHandler) {
2160+
this.element.removeEventListener("dragstart", this.element._dragStartHandler);
2161+
}
2162+
if (this.element._dragEndHandler) {
2163+
this.element.removeEventListener("dragend", this.element._dragEndHandler);
2164+
}
2165+
21552166
this.element.setAttribute("draggable", "true");
2156-
this.element.addEventListener("dragstart", (event) => { onDragStart(event, this.element); });
2157-
this.element.addEventListener("dragend", (event) => { onDragEnd(event, this.element); });
2167+
this.element._dragStartHandler = (event) => { onDragStart(event, this.element); };
2168+
this.element._dragEndHandler = (event) => { onDragEnd(event, this.element); };
2169+
this.element.addEventListener("dragstart", this.element._dragStartHandler);
2170+
this.element.addEventListener("dragend", this.element._dragEndHandler);
21582171
}
21592172
},
21602173

0 commit comments

Comments
 (0)