我想创建一个事件来让对象听它。请看下面的例子:面向对象的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 2013-03-12 09:58:40