aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gwtquery-core/src/main/java/com/google/gwt/query/client/plugins/events/EventsListener.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/gwtquery-core/src/main/java/com/google/gwt/query/client/plugins/events/EventsListener.java b/gwtquery-core/src/main/java/com/google/gwt/query/client/plugins/events/EventsListener.java
index 6ba03bae..1f239fdc 100644
--- a/gwtquery-core/src/main/java/com/google/gwt/query/client/plugins/events/EventsListener.java
+++ b/gwtquery-core/src/main/java/com/google/gwt/query/client/plugins/events/EventsListener.java
@@ -16,6 +16,7 @@ package com.google.gwt.query.client.plugins.events;
import static com.google.gwt.query.client.GQuery.$;
import com.google.gwt.core.client.Duration;
+import com.google.gwt.core.client.JsArrayString;
import com.google.gwt.dom.client.Element;
import com.google.gwt.dom.client.EventTarget;
import com.google.gwt.dom.client.NodeList;
@@ -531,12 +532,18 @@ public class EventsListener implements EventListener {
for (String k : liveBindFunctionByEventType.keys()) {
LiveBindFunction liveBindFunction = liveBindFunctionByEventType.<JsCache> cast().get(k);
liveBindFunction.removeBindFunctionForSelector(cssSelector, nameSpace, null);
+ if (liveBindFunction.isEmpty()){
+ liveBindFunctionByEventType.<JsCache>cast().delete(k);
+ }
}
} else {
LiveBindFunction liveBindFunction = liveBindFunctionByEventType.get(eventbits);
if (liveBindFunction != null) {
liveBindFunction.removeBindFunctionForSelector(cssSelector, nameSpace, originalEventName);
}
+ if (liveBindFunction.isEmpty()){
+ liveBindFunctionByEventType.remove(eventbits);
+ }
}
}