我正在处理的代码中,每次调用init方法时都会收到以下错误提示:
。这是因为我不能从事件处理程序中调用方法吗?this.addElement不是一个函数
function editor () {
this.init = function () {
$("#area").bind('click' , this.click_event );
}
this.addElement = function () {
console.log("adding element");
}
this.click_event = function(event) {
this.addElement();
console.log("click event in x : "+event.data);
}
}
click_event
内部,this
是什么?理解这一点,世界就是你的海螺了。 - Amadanthis
,它仍然隐含存在:this.addElement()
和addElement()
是相同的。但是检查this
- 很可能这不是您想要的。 - Amadanthis
不再指向editor
对象。在addElement
函数内部执行console.log(this)
以查看this
指向的是什么。 - Anurag