Reference to an object from a callback function in jQuery
jquery, jquery-callback
Solution
In Javascript an anonymous function is able to reference all variables that existed at the scope of the function's creation. Since `this` gets reassigned in the callback function, you can create a local variable to store it before you enter the callback.
function MyClass(){
this.myClassAttribute = "A class attribute";
var myClass = this;
$("span").click(function(){
myClass.myClassAttribute = "hello";
});
}
Problem
I have following situation. In a constructor of a pseudo class I attach a click event to an element. When the event is triggered I would like to refer from the callback function to the object where the event was set. Code of the pseudo class constructor ``` function MyClass(){ this.myClassAttribute = "A class attribute"; // here `this` refers to the object $("span").click(function(){ // here `this` refer to a matched element, i.e. "span" // How to get the value of `myClassAttribute`? }); } ``` How to refer to the object without an global variable?