Я пытаюсь создать событие для объекта, чтобы он его прослушивал. Рассмотрим следующий пример:Объектно-ориентированный Javascript: обработка событий
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);
Я ожидал получить выход вроде:
Spot: Awooooooof Woof!
Dot: Awooooooof Woof!
Но то, что я получаю:
undefined: Awooooooof Woof!
Что случилось с моим примером? Как я могу зарегистрировать слушателя, что у каждого экземпляра собаки? Спасибо заранее!
Большое спасибо! Я понял, как добиться этого с помощью jQuery, но я думаю, что ваше решение более элегантно. – Alessandro