I'm trying to create an event for an object to have it listen to it. Consider the following example:
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);
I'm expecting to receive an output like:
Spot: Awooooooof Woof!
Dot: Awooooooof Woof!
But what I get is:
undefined: Awooooooof Woof!
What is wrong with my example? How can I register a listener that every instance of Dog has?