diff --git a/packages/svelte/src/internal/client/dom/elements/attributes.js b/packages/svelte/src/internal/client/dom/elements/attributes.js index 07c9504ccf..c32c52e3f3 100644 --- a/packages/svelte/src/internal/client/dom/elements/attributes.js +++ b/packages/svelte/src/internal/client/dom/elements/attributes.js @@ -192,7 +192,9 @@ export function set_attributes(element, prev, next, lowercase_attributes, css_ha events.push([ key, value, - () => (next[key] = create_event(event_name, element, value, opts)) + // since key is a var, when calling this in a later point, it will point the last value it had + // hence we can't do that and we have to do this instead + () => (next[`on${event_name}`] = create_event(event_name, element, value, opts)) ]); } else { next[key] = create_event(event_name, element, value, opts);