title: How to call direct parent element function
body: <p>Please consider following example:</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false">
  <div class="snippet-code">
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;script src="https://cdnjs.cloudflare.com/ajax/libs/polymer/0.5.5/polymer.js"&gt;&lt;/script&gt;
  &lt;polymer-element name="my-outer" &gt;
    &lt;template&gt;
        outer
       &lt;my-inner id="inner" &gt;
           &lt;button on-click="{{buttonClick}}"&gt;push&lt;/button&gt;
       &lt;/my-inner&gt;
        outer
    &lt;/template&gt;
    &lt;script&gt;
      Polymer('my-outer', {
        buttonClick: function(){
            
            // it wasn't commented before update
            //this.$.inner.buttonClick();
        }
      });
    &lt;/script&gt;
  &lt;/polymer-element&gt;
  
  &lt;polymer-element name="my-inner"&gt;
    &lt;template&gt;
        &lt;content&gt;&lt;/content&gt;
    &lt;/template&gt;
    &lt;script&gt;
      Polymer('my-inner', {
        // update 
         domReady: function() {
          this.eventController = this;
         },
        //end update
        
         buttonClick: function(){
            alert('inner');
        }
      });
    &lt;/script&gt;
  &lt;/polymer-element&gt;
  
  &lt;my-outer&gt;&lt;/my-outer&gt;</code></pre>
  </div>
  </div>
  </p>
  
  <p>The question is if there is any way to call Inner's buttonClick without explicit delegation in outer (putting $.inner... into on-click also doesn't work)? Maybe with bind or something.</p>
  
  <p>Best reagrds, Eugene.</p>
  
  <p>ps: the snippet works only in chrome. Not sure if it's polymer or stackoverflow to blame.</p>
  
  <p>UPDATE: looks like putting</p>
  
  <pre><code> domReady: function() {
          this.eventController = this;
   },
  </code></pre>
  
  <p>into inner component solves the problem. But I still don't fully undestand what that eventController is. When event handler is looking for one it just iterates through node parents and picks up any with defined eventController, if none is found then node.host is used. The only other place where eventController pops up in polymer code is some lightFromTemplate function with murky comment and TODO on it.Then there is also bug <a href="https://github.com/Polymer/polymer/issues/1170" rel="nofollow">https://github.com/Polymer/polymer/issues/1170</a> and couple of posts which do not make the issue clear for me.</p>
  
  <p>So the updated question is:
  What is polymer's eventController and are there any ways to work with it?</p>