From: jdramaix Date: Wed, 23 Jan 2013 00:50:03 +0000 (+0100) Subject: fix issue #12 X-Git-Tag: release-1.3.2~19^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=00eae0430276e873ebb1ba083a984e84b0e821a1;p=gwtquery.git fix issue #12 --- 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. cast().get(k); liveBindFunction.removeBindFunctionForSelector(cssSelector, nameSpace, null); + if (liveBindFunction.isEmpty()){ + liveBindFunctionByEventType.cast().delete(k); + } } } else { LiveBindFunction liveBindFunction = liveBindFunctionByEventType.get(eventbits); if (liveBindFunction != null) { liveBindFunction.removeBindFunctionForSelector(cssSelector, nameSpace, originalEventName); } + if (liveBindFunction.isEmpty()){ + liveBindFunctionByEventType.remove(eventbits); + } } }