Added removal of mounted click listeners for detached divs

This commit is contained in:
Ivymaster
2026-07-31 13:29:04 +02:00
parent bb6dfd4d64
commit cc8e7493e2
+16 -6
View File
@@ -1,11 +1,17 @@
const clickListeners = [];
function saveAddClickListener(el, source, value) {
function removeClickListener(el) {
const index = clickListeners.findIndex(data => data.el == el);
if (index >= 0) {
el.removeEventListener('click', clickListeners[index].listener);
clickListeners.splice(index, 1);
}
if (index < 0)
return;
el.removeEventListener('click', clickListeners[index].listener);
clickListeners.splice(index, 1);
}
function saveAddClickListener(el, source, value) {
removeClickListener(el);
const listener = evt => {
evt.preventDefault();
evt.stopPropagation();
@@ -45,5 +51,9 @@ export default {
if (binding.arg != 'container') {
saveAddClickListener(el, binding.arg, binding.value);
}
},
beforeUnmount(el, binding) {
if (binding.arg != 'container')
removeClickListener(el);
}
}
}