Вот у меня есть код:
class BaseInput{
constructor(value){
this.makeButtonVisible = null;
this.makeButtonVisible = function(){
alert(1234);
};
this.makeButtonInvisible = null;
this._input = document.createElement('input');
this._input.type = 'text';
this._input.value = value;
this._input.dataset.value = value;
this._input.oninput = function(){
if (this.value != this.dataset.value)
BaseInput.makeButtonVisible();
else
alert(321);
}
document.querySelector('.container').appendChild(this._input);
}
}
в this._input.oninput я добавляю функцию, которая должна обратиться к методам makeButtonVisible или makeButtonInvisible этого объекта
Ответ
this._input.dataset.value = value;
this._input.logic = this;
this._input.oninput = function(e) {
if (this.value != this.dataset.value)
this.logic.makeButtonVisible();
else
alert(321);
};
или
this._input.dataset.value = value;
this._input.oninput = (e) => {
if (this._input.value != this._input.dataset.value)
this.makeButtonVisible();
else
alert(321);
};
или
this._input.dataset.value = value;
this._input.oninput = (function(e) {
if (this._input.value != this._input.dataset.value)
this.makeButtonVisible();
else
alert(321);
}).bind(this);
Комментариев нет:
Отправить комментарий