diff options
| -rw-r--r-- | src/lib/Tooltip/LinkedTooltip.svelte | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/lib/Tooltip/LinkedTooltip.svelte b/src/lib/Tooltip/LinkedTooltip.svelte index 82147536..b3fc6ae2 100644 --- a/src/lib/Tooltip/LinkedTooltip.svelte +++ b/src/lib/Tooltip/LinkedTooltip.svelte @@ -1,6 +1,7 @@ <script lang="ts"> import tooltipPosition from "$stores/tooltipPosition"; import { fade } from "svelte/transition"; +import { onDestroy } from "svelte"; export let id: string | undefined = undefined; export let pin: string | undefined = undefined; @@ -20,6 +21,17 @@ let hideTimeout: number | null = null; let debounceTimer: number | null = null; let opacity = 0; +onDestroy(() => { + if (hideTimeout !== null) clearTimeout(hideTimeout); + + if (debounceTimer !== null) clearTimeout(debounceTimer); + + if (tooltipDiv && tooltipDiv.parentNode === document.body) { + document.body.removeChild(tooltipDiv); + tooltipDiv = null; + } +}); + const createTooltip = () => { if (!tooltipDiv) { tooltipDiv = document.createElement("div"); |