Давайте рассмотрим, что мы можем извлечь из события после перехвата его с помощью соответствующего обработчика:
node[/*@cc_on !@*/0 ? 'attachEvent' : 'addEventListener'] (/*@cc_on 'on'+@*/'click', function(e){ var target = e.target || e.srcElement // или if (!e.target) { e.target = e.srcElement } // или, если нам надо всего один раз (e.target || e.srcElement).tagName // true везде кроме IE, в котором this === window this == node; // отменяем всплытие события if (e.stopPropagation) e.stopPropagation() else e.cancelBubble // или просто используем вариант, который // для совместимости работает во всех браузерах. e.cancelBubble = true // убираем действие по умолчанию (в данном случае клик) if (e.preventDefault) e.preventDefault() else e.returnValue = false // при attachEvent (как здесь) работает только в IE; // при назначении напрямую (node.onclick) — везде return false; }, false):