【发布时间】:2018-03-17 00:23:05
【问题描述】:
谁能解释为什么我在类实例化时收到第一条控制台消息:“1 .list-group-item”,但是在按下“.remove_track”按钮后,我得到 this.DOM.TrackItems 未定义?非常感谢任何帮助或建议。
class MyList
constructor() {
this.DOM = {
ParentNode: '#mylist',
AddTrackButton: '#add_track',
RemoveTrackButtons: '.remove_track',
TrackItems: '.list-group-item'
};
this.bind(this.DOM.ParentNode, this.DOM.RemoveTrackButtons, 'click', this.removeTrack);
};
//jQuery on/off methods
bind(parentSelector, childSelector, eventName, functionName) {
console.log('1 ' + this.DOM.TrackItems);
$(parentSelector).on(eventName, childSelector, functionName);
};
unbind(parentSelector, childSelector, eventName, functionName){
$(parentSelector).off(eventName, childSelector, functionName);
}
removeTrack(evt) {
evt.preventDefault();
console.log('2 ' + this.DOM.TrackItems);
}
}
//编辑:
【问题讨论】:
-
它按我的预期工作。
-
感谢 Ele - 包括 jsfiddle。
标签: javascript class methods properties undefined