Description: Takes a function and returns a new one that will always have a particular context.
functionThe function whose context will be changed.
contextThe object to which the context (`this`) of the function should be set.
contextThe object to which the context of the function should be set.
nameThe name of the function whose context will be changed (should be a property of the 'context' object.
This method is most useful for attaching event handlers to an element where the context is pointing back to a different object. Additionally, jQuery makes sure that even if you bind the function returned from jQuery.proxy() it will still unbind the correct function, if passed the original.
var obj = {
name: "John",
test: function() {
alert( this.name );
$("#test").unbind("click", obj.test);
}
};
$("#test").click( jQuery.proxy( obj, "test" ) );
// This also works:
// $("#test").click( jQuery.proxy( obj.test, obj ) );