Я думаю, вам нужна функция jQuery $.proxy()
.Существует две формы:
var proxy = $.proxy(someFunction, someObject); // A
var proxy2 = $.proxy(someObject, someString); // B
Вызов «A» возвращает функцию, так что при ее вызове функция «someFunction» будет вызываться с любыми аргументами, переданными вами прокси, и с «this», связанным"SomeObject".Версия "B" похожа, но вместо того, чтобы передавать функцию, вы передаете name свойства в "someObject", которое ссылается на некоторую функцию.Таким образом, если у вас есть объект «виджет» с функцией «blink», то
var blinker = $.proxy(widget, "blink");
дает вам функцию, которая будет вызывать функцию «blink» для «widget» (то есть с «это "привязано к" виджету ").