title: Preserve 'this' reference in javascript prototype event handler
body: <p>What is the correct way to preserve a <code>this</code> javascript reference in an event handler stored inside the object's prototype? I'd like to stay away from creating temp vars like '_this' or 'that' and I can't use a framework like jQuery. I saw a lot of people talk about using a 'bind' function but was unsure of how to implement it in my given scenario.</p>
  
  <pre><code>var Example = function(foo,bar){
      this.foo = foo;
      this.bar = bar;
  };
  Example.prototype.SetEvent = function(){
      this.bar.onclick = this.ClickEvent;
  };
  Example.prototype.ClickEvent = function(){
      console.log(this.foo); // logs undefined because 'this' is really 'this.bar'
  };
  </code></pre>