Code has been added to clipboard!

Using jQuery .proxy() Method Explained

Reading time 1 min
Published Jan 10, 2018
Updated Oct 10, 2019

Web Development Course:

jQuery proxy: Main Tips

  • The jQuery .proxy() method takes an existing function and returns a new one with a specific context.
  • Since jQuery 1.6, .proxy() accepts unlimited number of additional arguments. They will be passed to the function whose context is set to change.

Using the .proxy() Method

When JavaScript executes code, every called function has its execution context. An execution context consist of the activation object, scope chain and this value.

There are two methods for changing the value of this: .call() and .apply().

jQuery .proxy() serves the same purpose: it changes the value of this for a specific function and returns that new function.

The example below sets the context of the info function inside personObject:

$("button").click($.proxy(personObject, "info"));

Syntax for jQuery .proxy()

The syntax of jQuery .proxy() is as follows:

$("selector").proxy(name, context);

Let's review the arguments jQuery .proxy() takes:

  • name is the name of the function whose context will be changed.
  • context represents the object to which the context of the selected function will be changed.
  • You can also add extraArguments at the end.

Note: changing the order of parameters makes no difference – the .proxy() jQuery method would still work.