我有一个Javascript对象如下:
function extraFields(id) {
this.numActiveFields = 0;
...
this.addRow = function(quoteClass, rowClass) {
var remButton = $("<span></span>")
.addClass(rowClass)
.addClass(quoteClass)
.click(function() {
//here I want to refer to the object's variable, but instead refer
//to the JQuery object
this.numActiveFields++;
});
}
...
}
我想从回调函数内部更改对象的变量。我该怎么办?我应该改变声明对象的方式吗?
答案 0 :(得分:1)
当您处于回调函数中时,“this”是您创建的“remButton”。只需在回调之前将“this”保存在变量中,然后再使用它。
要获得更好的解释,请查看mplungjan建议的链接: Reference to an object from a callback function in jQuery