我的代码:
Box = (function() {
function Box(options) {
this.id = options.id;
$('#box-reload-' + this.id).click(function() {
this.reload();
});
}
Box.prototype.reload = function() {
alert('test');
};
return Box;
})();
b = new Box({'id': '0'})
点击事件已正确注册,但是当我点击重新加载按钮时,出现此错误:
类型错误:this.reload不是一个函数
如何修复此错误?
最佳答案
click
处理程序中的
this
引用元素 #box-reload-...
,因此请使用 _this
变量作为对正确范围的引用,例如
Box = (function() {
function Box(options) {
var _this = this;
this.id = options.id;
$('#box-reload-' + this.id).click(function() {
_this.reload();
});
}
关于javascript - TypeError : this. 重新加载不是一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21264229/