From 3ad7550a62a2bccdedc8004b46ab5c8293fcfb3a Mon Sep 17 00:00:00 2001 From: Hayleigh Thompson Date: Mon, 1 Apr 2024 19:02:11 +0100 Subject: :bug: Fixed a bug where event handlers would not work on propagated events. --- src/vdom.ffi.mjs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/vdom.ffi.mjs b/src/vdom.ffi.mjs index 8d5c287..2e1e46c 100644 --- a/src/vdom.ffi.mjs +++ b/src/vdom.ffi.mjs @@ -429,15 +429,17 @@ function createElementNode({ prev, next, dispatch, stack }) { const registeredHandlers = new WeakMap(); function lustreGenericEventHandler(event) { - if (!registeredHandlers.has(event.target)) { - event.target.removeEventListener(event.type, lustreGenericEventHandler); + const target = event.currentTarget; + + if (!registeredHandlers.has(target)) { + target.removeEventListener(event.type, lustreGenericEventHandler); return; } - const handlersForEventTarget = registeredHandlers.get(event.target); + const handlersForEventTarget = registeredHandlers.get(target); if (!handlersForEventTarget.has(event.type)) { - event.target.removeEventListener(event.type, lustreGenericEventHandler); + target.removeEventListener(event.type, lustreGenericEventHandler); return; } -- cgit v1.2.3