diff options
author | XhmikosR <xhmikosr@gmail.com> | 2021-11-17 22:23:32 +0300 |
---|---|---|
committer | XhmikosR <xhmikosr@gmail.com> | 2022-10-04 09:32:29 +0300 |
commit | c6b3389d118836723bc237fe411396f47ffde034 (patch) | |
tree | 39b0f298269a00677997ff53d8780c26ef5c1552 | |
parent | bcb0f00399a3b500b76fbf8dd8e181391d6082bf (diff) |
event-handler.js: switch to a while loop
-rw-r--r-- | js/src/dom/event-handler.js | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/js/src/dom/event-handler.js b/js/src/dom/event-handler.js index c7019a8d07..77e91b2daf 100644 --- a/js/src/dom/event-handler.js +++ b/js/src/dom/event-handler.js @@ -102,8 +102,9 @@ function bootstrapHandler(element, fn) { function bootstrapDelegationHandler(element, selector, fn) { return function handler(event) { const domElements = element.querySelectorAll(selector) + let { target } = event - for (let { target } = event; target && target !== this; target = target.parentNode) { + while (target && target !== event) { for (const domElement of domElements) { if (domElement !== target) { continue @@ -117,6 +118,8 @@ function bootstrapDelegationHandler(element, selector, fn) { return fn.apply(target, [event]) } + + target = target.parentNode } } } |