Realizacja wydarzeń we własnym obiekcie

To, co chcę mieć, to obiekt niestandardowy, który zapewnia pewne zdarzenia. Na przykład:

var CustomObjectTextChangedEventName = 'textChanged';
var CustomObject = function () {
    var _this = this;
    var _text = "";

    _this.OnTextChanged = document.createEvent("Event");
    _this.OnTextChanged.initEvent(CustomObjectTextChangedEventName, true, false);

    _this.ChangeText = function (newText) {
        _text = newText;
        fireTextChanged();
    };

    function fireTextChanged() {
        _this.dispatchEvent(_this.OnTextChanged);
    }
}

Kod do użycia zdarzenia wyglądałby następująco:

myCustomObject = new CustomObject();
myCustomObject.addEventListener(CustomObjectTextChangedEventName, handleTextChanged, false);

Jak widzisz ... domyślny sposób używania zdarzeń w JS. Ale nie mogę tego zrobić ...

Obecnie moim problemem jest to, że mój obiekt nie implementuje „addEventListener” i „dispatchEvent”. Ale te funkcje są normalnie zaimplementowane z „elementu” ...

Czy mogę je jakoś udostępnić, czy muszę je zaimplementować samodzielnie? Jak mam je wdrożyć? Czy muszę implementować własne zarządzanie zdarzeniami? (posiada wewnętrzną listę programów obsługi, funkcję „dodaj” - i „usuń” oraz uruchom każdy program obsługi, gdy chcę wystrzelić zdarzenie)

Pozdrowienia!

questionAnswers(4)

yourAnswerToTheQuestion