diff --git a/src/compiler/compile/render_dom/wrappers/Element/index.ts b/src/compiler/compile/render_dom/wrappers/Element/index.ts index 64d02191fb..e33c291ea3 100644 --- a/src/compiler/compile/render_dom/wrappers/Element/index.ts +++ b/src/compiler/compile/render_dom/wrappers/Element/index.ts @@ -585,7 +585,7 @@ export default class ElementWrapper extends Wrapper { b`${resize_listener} = @add_resize_listener(${this.var}, ${callee}.bind(${this.var}));` ); - block.chunks.destroy.push( + block.chunks.destroy.unshift( b`${resize_listener}();` ); } else { diff --git a/src/runtime/internal/dom.ts b/src/runtime/internal/dom.ts index bf8fc1f5a0..ab45de3ffb 100644 --- a/src/runtime/internal/dom.ts +++ b/src/runtime/internal/dom.ts @@ -287,8 +287,8 @@ export function add_resize_listener(node: HTMLElement, fn: () => void) { append(node, iframe); return () => { - detach(iframe); if (unsubscribe) unsubscribe(); + detach(iframe); }; }