Skip to content

Commit cb3bbec

Browse files
dgrahamkeithamus
andcommitted
Remove event name tracking
The addEventListener function binds only once based on the listener function's identity. We're passing `handleEvent` rather than a function closure so we can invoke addEventListener multiple times. Co-authored-by: Keith Cirkel <keithamus@users.noreply.github.com>
1 parent 795633b commit cb3bbec

1 file changed

Lines changed: 1 addition & 10 deletions

File tree

src/bind.ts

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -99,17 +99,8 @@ function handleEvent(event: Event) {
9999
}
100100
}
101101

102-
const bindings = new WeakMap<Element, Set<string>>()
103102
function bindActions(el: Element) {
104-
if (!bindings.has(el)) {
105-
bindings.set(el, new Set())
106-
}
107-
const elementBindings = bindings.get(el)!
108103
for (const action of (el.getAttribute('data-action') || '').split(' ')) {
109-
const event = getActionEventName(action)
110-
if (!elementBindings.has(event)) {
111-
el.addEventListener(event, handleEvent)
112-
}
113-
elementBindings.add(event)
104+
el.addEventListener(getActionEventName(action), handleEvent)
114105
}
115106
}

0 commit comments

Comments
 (0)