Другой способ сделать это (правильно - как отмечает Crescent Flash) заключается в следующем:
addEvent = (function () {
return addEventListener ?
function (element, event, fn) {
element.addEventListener (event, fn, false);
} :
function (element, event, fn) {
element.attachEvent ('on' + event, fn);
};
}) ();
Это можно было бы расширить, чтобы уменьшить другие различия между двумя моделями событий.