задавай вопросы
(function() {
// короткое определение IE
var ie = /*@cc_on@*/0;
//последовательно исполняет все обработчики события для эл-та.
function handleEvent(event) {
// фиксируем событие для IE
if(ie){
event = window.event;
if(!event.target)
event.target = event.srcElement;
event.preventDefault = event.preventDefault || function(){this.returnValue = false}
event.stopPropagation = event.stopPropagaton || function(){this.cancelBubble = true}
// вычислить pageX/pageY
if ( event.pageX == null && event.clientX != null ) {
var html = document.documentElement, body = document.body;
event.pageX = event.clientX + (html && html.scrollLeft || body && body.scrollLeft || 0) - (html.clientLeft || 0);
event.pageY = event.clientY + (html && html.scrollTop || body && body.scrollTop || 0) - (html.clientTop || 0);
}
// записать нажатую кнопку мыши в which для IE
// 1 == левая; 2 == средняя; 3 == правая
if ( !event.which && event.button ) {
event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) ));
}
}
// все обработчики для текущего события
var handlers = this.events[event.type];
// последовательно исполняем их.
for (var i in handlers)
handlers[i].call(this,event);
};
_$$ = {};
_$$.$e = {
add: function(elem, type, handler) {
if (!addEvent.guid) addEvent.guid = 1;
handler.$$guid = addEvent.guid++;
if (!elem.events) elem.events = {};
var handlers = elem.events[type];
if (!handlers) {
handlers = elem.events[type] = {};
if (elem["on" + type]) handlers[0] = elem["on" + type];
}
handlers[handler.$$guid] = handler;
elem["on" + type] = handleEvent;
},
remove: function(elem, type, handler) {
if (elem.events && elem.events[type]) {
delete elem.events[type][handler.$$guid];
}
}
};
})();
_$$.$e.add( document.body, 'click', function(){alert('clicked')})
_$$.$e.add( document.body, 'click', function(){alert('clicked two times')})
_$$.$e.add( document.body, 'click', function(){alert('имя тега ?\n'+this.tagName)})