File tree Expand file tree Collapse file tree 1 file changed +11
-0
lines changed Expand file tree Collapse file tree 1 file changed +11
-0
lines changed Original file line number Diff line number Diff line change @@ -130,6 +130,17 @@ export default {
130
130
handler . toString ( )
131
131
)
132
132
target . removeEventListener ( event , handler )
133
+ // remove key from event listeners object when no events are registered for that event
134
+ Object . keys ( registry . eventListeners [ targetIndex ] ) . forEach ( event => {
135
+ if ( registry . eventListeners [ targetIndex ] [ event ] . length === 0 ) {
136
+ delete registry . eventListeners [ targetIndex ] [ event ]
137
+ }
138
+ } )
139
+ // remove reference to the target when target has no event listeners registered
140
+ if ( Object . keys ( registry . eventListeners [ targetIndex ] ) . length === 0 ) {
141
+ registry . targets . splice ( targetIndex )
142
+ registry . eventListeners . splice ( targetIndex )
143
+ }
133
144
} else {
134
145
Log . error (
135
146
'Remove eventListener' ,
You can’t perform that action at this time.
0 commit comments