Object-oriented Javascript: event-handling

Ich versuche, erstellen Sie ein Ereignis für ein Objekt, um es zu hören. Betrachten Sie das folgende Beispiel:

var moon;

moon = document.createEvent("Event");
moon.initEvent("Event",true,true);

var Dog = function (name) {
  this.name = name;

  document.addEventListener("Event",this.bark,false);
};
dog.prototype.bark = function() {
  console.log(this.name + ': Awooooooof Woof!');
};


var spot = new Dog("Spot");
var dot = new Dog("Dot");


//invoke
document.dispatchEvent(moon);

Ich erwarte, um zu erhalten eine Ausgabe wie:

Spot: Awooooooof Woof!

Dot: Awooooooof Woof!

Aber was ich bekomme ist:

undefined: Awooooooof Woof!

Was falsch ist mit meinem Beispiel? Wie kann ich einen listener registrieren, dass jede Instanz der Hund hat?
Vielen Dank im Voraus!

Schreibe einen Kommentar