我想做这样的事......
var Color = Class.create({
initialize: function() {
this._color = "white";
this.observe("evt: colorChanged", this.colorChanged.bind(this));
},
changeColor: function(color) {
this._color = color;
this.fire("evt: colorChanged");
},
colorChanged: function(event) {
alert("You change my color!");
}
});
var a = new Color().changeColor("blue");
为什么永远不会调度colorChange
自定义事件,我需要使用this
之类的DOM元素而不是document.observe
?
在我的代码中,我想知道哪个类使用event.target
调度事件,如果必须使用document
或其他一些DOM元素,我就不能。 :(
我一直在使用Actionscript 3,这是我学习在类中使用自定义事件的方法。 Javascript怎么样?
答案 0 :(得分:0)
这应该有效:
var Color = Class.create({
initialize: function() {
this._color = "white";
Event.observe(document, "evt: colorChanged", this.colorChanged.bind(this));
},
changeColor: function(color) {
this._color = color;
Event.fire(document, "evt: colorChanged", this, false);
},
colorChanged: function(event) {
alert("You change my color!");
}
});
var a = new Color().changeColor("blue");