参考Javascript“;“类”;来自jQuery函数的方法

参考Javascript“;“类”;来自jQuery函数的方法,javascript,jquery,object,this,prototype-programming,Javascript,Jquery,Object,This,Prototype Programming,如何从jQuery函数引用Javascript中的父“类”方法?例如: $Object.prototype.TestFunction = function(arg){ alert(arg); } $Object.prototype.foo = function(){ $(something).click(function(){ this.TestFunction("Hello"); //Obviously doesn't work. }); } 我有可预测

如何从jQuery函数引用Javascript中的父“类”方法?例如:

$Object.prototype.TestFunction = function(arg){
  alert(arg);
}

$Object.prototype.foo = function(){
    $(something).click(function(){
        this.TestFunction("Hello"); //Obviously doesn't work.
    });
}
我有可预测的数据集,需要对多个数据集和页面上查看的结果进行操作,这就是为什么我构建了一个对象来处理它。然而,当我使用任何“jQuery”并试图从内部引用对象属性或方法时,它显然不起作用

这可能吗


非常感谢您提前花了大量时间和精力。

只需将
分配给一个变量,并在闭包中引用该变量即可

$Object.prototype.foo = function(){
    var that = this; //<--here
    $(something).click(function(){
        that.TestFunction("Hello");
    });
};
$Object.prototype.foo=function(){

var=this;//只需将
this
赋值给一个变量,并在闭包中引用该变量

$Object.prototype.foo = function(){
    var that = this; //<--here
    $(something).click(function(){
        that.TestFunction("Hello");
    });
};
$Object.prototype.foo=function(){

var that=this;//我首选的方法是使用$.proxy:

$Object.prototype.foo = function(){ $(something).click($.proxy(this.TestFunction,this); }; $Object.prototype.foo=函数(){ $(某物)。单击($.proxy(this.TestFunction,this); };
它更简洁,还可以将任何参数(如事件)传递给处理函数。

我首选的方法是使用$。代理:

$Object.prototype.foo = function(){ $(something).click($.proxy(this.TestFunction,this); }; $Object.prototype.foo=函数(){ $(某物)。单击($.proxy(this.TestFunction,this); }; 它更干净,还可以将任何参数(如事件)传递给处理程序函数