Столкнулся с такой вот задачей - есть функция конструктор, InputElement()
которая создает input. В объекте есть два метода
InputElement.prototype.onChange = function(callback){
elem.addEventListener('change', callback);
}
InputElement.prototype.setValue = function(inputedValue){
elem.value = inputedValue;
return elem;
}
как в методе setValue вызвать коллбэк из onChange, чтоб сработало такое условие:
let result;
let input= new InputElement();
input.onChange(() => result = 'A');
input.setValue('B');
console.log(result)// -> A
Был вариант с установкой атрибута disabled для элемента после события change, но не сработало
function InputElement() {
this.elem = document.createElement("input");
document.body.appendChild(this.elem);
}
InputElement.prototype.setValue = function(value) {
this.elem.value = value;
this.elem.dispatchEvent(new Event('change'));
return this.elem;
}
InputElement.prototype.onChange = function(callback) {
this.elem.addEventListener('change', callback);
}
let result;
let input = new InputElement();
input.onChange(() => result = 'A');
input.setValue('B');
console.log(result) // -> A
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском