我正在尝试为对象创建一个事件以使其监听它。考虑以下示例:
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);
我期待收到如下输出:
现场:呜呜呜呜呜!
点:呜呜呜呜呜!
但我得到的是:
未定义:呜呜呜呜呜!
我的例子有什么问题?如何注册每个 Dog 实例都有的侦听器?