Hola quiero sobrescribir addEventListener en todos los objetos de modo que no tenga que llamar a AttachEvent por separado:
addEventListener = function(){
    if(this.attachEvent){return this.attachEvent('on' + arguments[0]);}
    return Object.getPrototypeOf(this).addEventListener.apply(this,arguments);
}
Esto seguramente no funcione y si funciona solo reemplazara el addEventListener de window.
Alguna idea?
Un saludo
@Edit: Ya se que puedo crear una función aparte y pasar como primer parámetro el objeto pero no es lo que quiero hacer.
			
			
			
				Prueba sobreescribiendo el prototipo de la funcion en caso de que no esté disponible:
(function(){
    if (!window.addEventListener) {
        var addEventListener = function(type, handler) {
            var that = this;
            this.attachEvent('on' + type.toLowerCase(), function(){
                handler.call(that, window.event);
            });
        }
        Window.prototype.addEventListener = addEventListener;
        HTMLDocument.prototype.addEventListener = addEventListener;
        Element.prototype.addEventListener = addEventListener;
    }
})();
			
			
			
				En IE8 cuando intenta llamar al handler con call devuelve este error: El objeto no acepta esta acción