diff options
author | JackWithOneEye <84926381+JackWithOneEye@users.noreply.github.com> | 2023-07-17 23:08:12 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-17 15:08:12 -0600 |
commit | 8bbcc235a9329b8970f319b13eade829397cdd36 (patch) | |
tree | e37f9228c839ba4625897cc881f7da51e71a32e7 | |
parent | 6336ad61138df3851c03b90bee66edb170001aec (diff) | |
download | htmx-8bbcc235a9329b8970f319b13eade829397cdd36.tar.gz htmx-8bbcc235a9329b8970f319b13eade829397cdd36.zip |
Fix: `hx-on` event listener clean-up (#1586)
fix: hx-on listener clean-up
-rw-r--r-- | src/htmx.js | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/htmx.js b/src/htmx.js index 2fb8b9c5..e80190aa 100644 --- a/src/htmx.js +++ b/src/htmx.js @@ -916,7 +916,7 @@ return (function () { if (internalData.onHandlers) { for (let i = 0; i < internalData.onHandlers.length; i++) { const handlerInfo = internalData.onHandlers[i]; - elt.removeEventListener(handlerInfo.name, handlerInfo.handler); + elt.removeEventListener(handlerInfo.event, handlerInfo.listener); } delete internalData.onHandlers } @@ -1901,9 +1901,10 @@ return (function () { var nodeData = getInternalData(elt); nodeData.onHandlers = []; var func = new Function("event", code + "; return;"); - var listener = elt.addEventListener(eventName, function (e) { + var listener = function (e) { return func.call(elt, e); - }); + }; + elt.addEventListener(eventName, listener); nodeData.onHandlers.push({event:eventName, listener:listener}); return {nodeData, code, func, listener}; } |