访问父函数属性Javascript

Access parent function properties Javascript

本文关键字:Javascript 属性 函数 访问      更新时间:2023-09-26

我有一个类似的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);
    });
  }
}

如何访问要传递给jQuery的函数中类的属性?

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

由于它被jQuery标记,请使用$.proxy()将父上下文传递给回调方法

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));
    }
}

注意:由于缺少IE<9支持