Index: pkg/polymer/lib/src/events.dart |
diff --git a/pkg/polymer/lib/src/events.dart b/pkg/polymer/lib/src/events.dart |
index 881728a65c80619c0f5b6ff4d7480956229d3b5a..3fc71ad0e759ce32ab5f5a3ee926b66450186863 100644 |
--- a/pkg/polymer/lib/src/events.dart |
+++ b/pkg/polymer/lib/src/events.dart |
@@ -52,6 +52,12 @@ abstract class PolymerEventBindings { |
while (node.parentNode != null) { |
if (node is Polymer && node.eventController != null) { |
return node.eventController; |
+ } else if (node is Element) { |
+ // If it is a normal element, js polymer element, or dart wrapper to a |
+ // js polymer element, then we try js interop. |
+ var eventController = |
+ new JsObject.fromBrowserObject(node)['eventController']; |
+ if (eventController != null) return eventController; |
} |
node = node.parentNode; |
} |