diff options
-rw-r--r-- | gwtquery-core/src/main/java/com/google/gwt/query/client/plugins/events/EventsListener.java | 10 |
1 files changed, 5 insertions, 5 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 52567199..5221b634 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 @@ -175,6 +175,7 @@ public class EventsListener implements EventListener { boolean result = true; GqEvent gqEvent = GqEvent.create(event); + outerLoop: for (String cssSelector : realCurrentTargetBySelector.keys()) { JsObjectArray<BindFunction> bindFunctions = bindFunctionBySelector.get(cssSelector); for (int i = 0; bindFunctions != null && i < bindFunctions.length(); i++) { @@ -184,11 +185,10 @@ public class EventsListener implements EventListener { for (int j = 0; n != null && j < n.getLength(); j++) { Element element = n.getItem(i); gqEvent.setCurrentElementTarget(element); - boolean subResult = f.fire(gqEvent); - result &= subResult; - if (!subResult) { - // Event should not continue to be bubbled, break the second for - break; + result = f.fire(gqEvent); + if (!result) { + // Event should not continue because returning false, means to run it once + break outerLoop; } } } |