diff --git a/lib/internal/event_target.js b/lib/internal/event_target.js index 5a4f7c02909464..bfb948bb1ced1e 100644 --- a/lib/internal/event_target.js +++ b/lib/internal/event_target.js @@ -791,14 +791,6 @@ class EventTarget { } [kHybridDispatch](nodeValue, type, event) { - const createEvent = () => { - if (event === undefined) { - event = this[kCreateEvent](nodeValue, type); - event[kTarget] = this; - event[kIsBeingDispatched] = true; - } - return event; - }; if (event !== undefined) { event[kTarget] = this; event[kIsBeingDispatched] = true; @@ -814,13 +806,8 @@ class EventTarget { let handler = root.next; let next; - const iterationCondition = () => { - if (handler === undefined) { - return false; - } - return root.resistStopPropagation || handler.passive || event?.[kStop] !== true; - }; - while (iterationCondition()) { + while (handler !== undefined && + (root.resistStopPropagation || handler.passive || event?.[kStop] !== true)) { // Cache the next item in case this iteration removes the current one next = handler.next; @@ -844,7 +831,12 @@ class EventTarget { if (handler.isNodeStyleListener) { arg = nodeValue; } else { - arg = createEvent(); + if (event === undefined) { + event = this[kCreateEvent](nodeValue, type); + event[kTarget] = this; + event[kIsBeingDispatched] = true; + } + arg = event; } const callback = handler.weak ? handler.callback.deref() : handler.callback;