diff options
Diffstat (limited to 'js/src/dom/event-handler.js')
| -rw-r--r-- | js/src/dom/event-handler.js | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/js/src/dom/event-handler.js b/js/src/dom/event-handler.js index 7c54a9765..12b157467 100644 --- a/js/src/dom/event-handler.js +++ b/js/src/dom/event-handler.js @@ -105,15 +105,17 @@ function bootstrapDelegationHandler(element, selector, fn) { for (let { target } = event; target && target !== this; target = target.parentNode) { for (const domElement of domElements) { - if (domElement === target) { - event.delegateTarget = target + if (domElement !== target) { + continue + } - if (handler.oneOff) { - EventHandler.off(element, event.type, selector, fn) - } + event.delegateTarget = target - return fn.apply(target, [event]) + if (handler.oneOff) { + EventHandler.off(element, event.type, selector, fn) } + + return fn.apply(target, [event]) } } |
