class ProgressBar {
constructor(wrapper, line) {
this.wrapper = wrapper;
this.line = line;
wrapper.addEventListener('mousemove', this.listener.bind(this, [line]));
wrapper.removeEventListener('mousemove', this.listener);
}
listener([line], event) {
line.style.width = event.clientX + 'px'
}
}
class ProgressBar {
constructor(wrapper, line) {
this.wrapper = wrapper;
this.line = line;
// передаем объект а не функцию оО
wrapper.addEventListener('mousemove', this);
wrapper.removeEventListener('mousemove', this);
}
// что бы использовать объект в качестве слушателя,
// у него должен быть метод handleEvent - именно он будет получать события
handleEvent(event) {
this.line.style.width = event.clientX + 'px'
}
}