diff --git a/src/Component/BlazorComponent.Web/src/components/scroll-to-target/index.ts b/src/Component/BlazorComponent.Web/src/components/scroll-to-target/index.ts index 79c8d13be..d9918069c 100644 --- a/src/Component/BlazorComponent.Web/src/components/scroll-to-target/index.ts +++ b/src/Component/BlazorComponent.Web/src/components/scroll-to-target/index.ts @@ -20,6 +20,10 @@ class ScrollToTargetJSInterop { return; } + if (el["_intersectForScrollToTarget"]) { + return; + } + const observer = new IntersectionObserver( async ( entries: IntersectionObserverEntry[] = [], @@ -40,8 +44,8 @@ class ScrollToTargetJSInterop { this.options ); - el["_observe"] = Object(el["_observe"]); - el["_observe"] = { handle: this.handle, observer }; + el["_intersectForScrollToTarget"] = Object(el["_intersectForScrollToTarget"]); + el["_intersectForScrollToTarget"] = { handle: this.handle, observer }; observer.observe(el); } @@ -50,11 +54,11 @@ class ScrollToTargetJSInterop { const el = document.getElementById(id); if (!el) return; - const observe = el["_observe"]; + const observe = el["_intersectForScrollToTarget"]; if (!observe) return; observe.observer.unobserve(el); - delete el["_observe"]; + delete el["_intersectForScrollToTarget"]; } dispose() { diff --git a/src/Component/BlazorComponent.Web/src/mixins/intersect/index.ts b/src/Component/BlazorComponent.Web/src/mixins/intersect/index.ts index d54824937..ffab99e7a 100644 --- a/src/Component/BlazorComponent.Web/src/mixins/intersect/index.ts +++ b/src/Component/BlazorComponent.Web/src/mixins/intersect/index.ts @@ -25,7 +25,7 @@ function observe( return; } - if (el["_observe"]) { + if (el["_intersect"]) { return; } @@ -60,8 +60,8 @@ function observe( standardOptions ); - el["_observe"] = Object(el["_observe"]); - el["_observe"] = { handle, observer }; + el["_intersect"] = Object(el["_intersect"]); + el["_intersect"] = { handle, observer }; observer.observe(el); } @@ -69,12 +69,12 @@ function observe( function unobserve(el: HTMLElement) { if (!el) return; - const observe = el["_observe"]; + const observe = el["_intersect"]; if (!observe) return; observe.observer.unobserve(el); observe.handle.dispose(); - delete el["_observe"]; + delete el["_intersect"]; } function observeSelector(