<script src="prototype.js"></script>
<div id="myDiv">sssssssssssssssssssssss</div>
<script>
function Listener(el,eventType){
this.listeners = new Array();
this.el = el;
el.obj = this;
el[eventType] = this.callback;
}
Listener.prototype.notify = function(event){
var listeners = this.listeners;
for(var i=0;i<listeners.length;i++){
var listener = listeners[i];
listener.call(this,event);//this为Listener的指针
}
}
Listener.prototype.callback = function(event){
var e = event || window.event;
var obj = this.obj;//this.obj为对象的指针
obj.notify(e);
}
Listener.prototype.addListeners = function(f){
this.listeners.push(f);
}
var obj = $("myDiv");
var s = new Listener(obj,"onclick");
s.addListeners(myAlert);
s.addListeners(myAlert1);
function myAlert(){
alert(this.listeners);
}
function myAlert1(){
alert("alert1");
}
</script>