最近,我开始使用javascript / jQuery进行练习。 我上课问卷。
class Questionnaire {
constructor (json, container) {
// constructor stuff
}
processAnswers() {
// Do something
}
showQuestionnaire() {
// A lot of stuff happens here
// HTML gets build in this method and added to an excisting container.
// The element with class 'button_confirm' gets generated here as well.
// this.container is an excisting HTML DOM-Object (Div)
$(this.container).find('.button_confirm').on('click', function () {
this.processAnswers();
});
}
}
一切正常,但是当我按下按钮并触发事件时,我收到一条错误消息,告诉我processAnswers不是函数。
我在做什么错?我为什么不能从这里打电话给processAnswers? 这可能很容易解决,但我看不到错误。
谢谢。
答案 0 :(得分:1)
您需要在此处使用箭头功能,这是因为this
会指向click事件处理程序中的窗口对象,但是您需要当前上下文
$(this.container).find('.button_confirm').on('click', (e)=> {
this.processAnswers();
});