Страницы

Поиск по вопросам

понедельник, 30 марта 2020 г.

Как обратиться к методу объекта из колбэка в JS?

#javascript


Вот у меня есть код:

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 этого объекта
    


Ответы

Ответ 1



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);

Комментариев нет:

Отправить комментарий