jquery "this" binding issue on event handler (equivalent of bindAsEventListener in prototype)

binding, events, javascript, jquery, this

Solution

Hmm, maybe you can use jQuery.proxy()?

http://api.jquery.com/jQuery.proxy/

Problem

In jquery an event hadler's binding is the event generating DOM element (this points to the dom element). In prototype to change the binding of an event handler one can use the bindAsEventListener function; How can I access both the instance and the DOM element from a event handler? Similar to How can I bind an event handler to an instance in JQuery? ``` function Car(){ this.km = 0; $("#sprint").click(this.drive); //setup event handler } // event handler // in it I need to access both the clicked element // and the binding object (instance of car) Car.prototype.drive = function(){ this.km += 10; // i'd like to access the binding (but jq changes it) this.css({ // also the element left: this.km }); // NOTE that is inside this function I want to access them not elsewhere } var car = new Car(); ```

Original source