Can anybody shed a light on why I get the first console message: '1 .list-group-item' on class instantiation, but after button press of '.remove_track', I get this.DOM.TrackItems as undefined? Any help or advice greatly appreciated.
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);
}
}
//EDIT: