Показать сообщение отдельно

  #11  
Старый 21.06.2008, 14:46
[Raz0r]
Members of Antichat - Level 5
Регистрация: 25.02.2007
Сообщений: 495
Провел на форуме:
3244717

Репутация: 1980
Отправить сообщение для [Raz0r] с помощью ICQ
По умолчанию

Как вариант для attachEvent и addEventListener:
Код:
<a id=aid href=#>Click me!</a>
<script>
Array.prototype.append = function(obj, nodup) {
	if(!(nodup && this.contains(obj))) {
		this[this.length] = obj;
	}
}

EventRouter = function(el, eventType) {
	this.lsnrs = new Array();
	this.el = el;
	el.eventRouter = this;
	el[eventType] = EventRouter.callback;
}

EventRouter.prototype.addListener = function(lsnr) {
	this.lsnrs.append(lsnr);
}

EventRouter.prototype.notify = function(e) {
	var lsnrs = this.lsnrs;
	for(var i=0; i < lsnrs.length; i++) {
		var lsnr=lsnrs[i];
		lsnr.call(this, e);
	}
}

EventRouter.callback = function(event) {
	var e = event || window.event;
	var router = this.eventRouter;
	router.notify(e);
}
var aid = document.getElementById("aid");
var ev = new EventRouter(aid, "onclick");
ev.addListener(function(){alert("Click!");});
</script>
 
Ответить с цитированием