我有一个像这样的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的函数中访问该类的属性?
任何帮助将不胜感激。谢谢!
答案 0 :(得分:2)
由于它使用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));
}
}
注意:由于bind()
,因此未使用lack IE<9 support