Ereignisse in mein eigenes Objekt implementieren

Was ich haben möchte, ist ein benutzerdefiniertes Objekt, das einige Ereignisse bereitstellt. Zum Beispiel:

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

Der Code zur Verwendung des Ereignisses sieht folgendermaßen aus:

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

Wie Sie sehen können ... die Standardmethode für die Verwendung von Ereignissen in JS. Aber ich kann es nicht schlecht machen ...

Derzeit besteht mein Problem darin, dass mein Objekt "addEventListener" und "dispatchEvent" nicht implementiert. Aber diese Funktionen werden normalerweise von "Element" implementiert ...

Kann ich sie irgendwie zur Verfügung stellen oder muss ich sie für mich selbst implementieren? Wie muss ich sie umsetzen? Muss ich mein eigenes Eventhandling implementieren? (mit einer internen Liste von Handlern, einer "Hinzufügen" - und "Entfernen" -Funktion und jedem Handler, wenn ich das Ereignis auslösen möchte)

Schöne Grüße!

Antworten auf die Frage(4)

Ihre Antwort auf die Frage