访问父函数属性Javascript

访问父函数属性Javascript,javascript,jquery,Javascript,Jquery,我有一个像这样的JavaScript类 function Palette() { this.selectedItem = ""; this.addBox = function() { // Different approach, create a fake box b = $("<div id='box-palette' class='box'>Box</div>"); b.insertBefore('#cont'); b.m

我有一个像这样的JavaScript类

function Palette() {

  this.selectedItem = "";

  this.addBox = function() {
    // Different approach, create a fake box
    b = $("<div id='box-palette' class='box'>Box</div>");
    b.insertBefore('#cont');

    b.mousedown(function() {
        this.selectedItem = "box"; // Here I want to access Palette#selectedItem
        console.log(Palette);
    });
  }
}
函数调色板(){
this.selectedItem=“”;
this.addBox=函数(){
//不同的方法,创建一个假框
b=$(“方框”);
b、 插入前(“#续”);
b、 mousedown(函数(){
this.selectedItem=“box”//我想在这里访问调色板#selectedItem
控制台日志(调色板);
});
}
}
如何访问要传递给jQuery的函数中类的属性


任何帮助都将不胜感激。谢谢

因为它是用jQuery标记的,所以使用jQuery将父上下文传递给回调方法

function Palette() {

    this.selectedItem = "";

    this.addBox = function () {
        // Different approach, create a fake box
        b = $("<div id='box-palette' class='box'>Box</div>");
        b.insertBefore('#cont');

        b.mousedown($.proxy(function () {
            this.selectedItem = "box"; // Here I want to access Palette#selectedItem
            console.log(Palette);
        }, this));
    }
}
函数调色板(){
this.selectedItem=“”;
this.addBox=函数(){
//不同的方法,创建一个假框
b=$(“方框”);
b、 插入前(“#续”);
b、 mousedown($.proxy(函数)(){
this.selectedItem=“box”//我想在这里访问调色板#selectedItem
控制台日志(调色板);
}这),;
}
}

注意:由于缺少,未使用。请查看以下内容:。感谢您的回答,如果您也能让我知道bind()在该上下文中的用法,那将非常好。我接受答案,谢谢@jaibatrik两者都用于将自定义上下文传递给函数
bind()
函数的本机扩展。prototype
——但它仅在较新版本的浏览器中受支持