TypeError возникает потому, что внутри функции обратного вызова onclick, this больше не указывает на объект Manipulate, а указывает на глобальный объект (window). Поэтому this.ul не определено внутри этой функции.
Один из способов решить эту проблему - использовать стрелочные функции, которые сохраняют контекст родительской функции:
TypeError возникает потому, что внутри функции обратного вызова onclick, this больше не указывает на объект Manipulate, а указывает на глобальный объект (window). Поэтому this.ul не определено внутри этой функции.
Один из способов решить эту проблему - использовать стрелочные функции, которые сохраняют контекст родительской функции:
Manipulate.prototype.clicked = function(){this.btn.onclick = () => {
console.log('Onclick working!');
this.ul.style.color = 'red';
};
};
После этого изменения, код должен работать правильно и ошибки TypeError не должно возникать.