“我的理解有问题。我的一段代码:
//constructor
function Widget (options) {
};
//return the string
Widget.prototype._addEditFormString = function (val) {
return "<input type='text' value='" + val + "' >";
}
//initializing method
Widget.prototype.init = function () {
var addRowButton = document.getElementsByName("addRow")[0];
addRowButton.addEventListener("click", this.addRow, false);
};
//this context in this method still confusing me
Widget.prototype.addRow = function () {
console.log(this._addEditFormString);//Uncaught TypeError: Object #<HTMLInputElement> has no method '_addEditFormString'
}
var wid = new Widget();
wid.init();
问题 - 在 init() 方法中我添加事件侦听器(addRow 方法),但在 addRow 方法中我不知道如何捕获我的构造函数类的“this”,因为我想调用 _addEditFormString() 方法,但收到“Uncaught TypeError : 对象 [对象窗口] 没有方法 '_addEditFormString'"。如果没有 Widget.prototype._addEditFormString,我该如何解决?还是只有一种解决方案?谢谢。