我想創建一個事件來讓對象聽它。請看下面的例子:面向對象的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