elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Sobrescribir addEventListener en todos los objetos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Sobrescribir addEventListener en todos los objetos  (Leído 1,956 veces)
patilanz


Desconectado Desconectado

Mensajes: 481

555-555-0199@example.com


Ver Perfil WWW
Sobrescribir addEventListener en todos los objetos
« en: 30 Diciembre 2015, 15:42 pm »

Hola quiero sobrescribir addEventListener en todos los objetos de modo que no tenga que llamar a AttachEvent por separado:
Código
  1. addEventListener = function(){
  2.    if(this.attachEvent){return this.attachEvent('on' + arguments[0]);}
  3.    return Object.getPrototypeOf(this).addEventListener.apply(this,arguments);
  4. }

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.


« Última modificación: 30 Diciembre 2015, 15:45 pm por patilanz » En línea

BlackM4ster


Desconectado Desconectado

Mensajes: 499


Error, el teclado no funciona. Pulse F1 para continuar


Ver Perfil WWW
Re: Sobrescribir addEventListener en todos los objetos
« Respuesta #1 en: 30 Diciembre 2015, 23:34 pm »

Prueba sobreescribiendo el prototipo de la funcion en caso de que no esté disponible:
Código
  1. (function(){
  2.    if (!window.addEventListener) {
  3.        var addEventListener = function(type, handler) {
  4.            var that = this;
  5.            this.attachEvent('on' + type.toLowerCase(), function(){
  6.                handler.call(that, window.event);
  7.            });
  8.        }
  9.        Window.prototype.addEventListener = addEventListener;
  10.        HTMLDocument.prototype.addEventListener = addEventListener;
  11.        Element.prototype.addEventListener = addEventListener;
  12.    }
  13. })();


En línea

- Pásate por mi web -
https://codeisc.com
patilanz


Desconectado Desconectado

Mensajes: 481

555-555-0199@example.com


Ver Perfil WWW
Re: Sobrescribir addEventListener en todos los objetos
« Respuesta #2 en: 1 Enero 2016, 16:40 pm »

En IE8 cuando intenta llamar al handler con call devuelve este error: El objeto no acepta esta acción
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Descargar todos los objetos cargados con loadVariablesNum()
Diseño Gráfico
Azielito 1 1,946 Último mensaje 22 Septiembre 2005, 22:06 pm
por Azielito
no sobrescribir imagen
Programación Visual Basic
soru13 7 2,785 Último mensaje 27 Agosto 2006, 02:05 am
por soru13
No puedo sobrescribir EIP (Linux) « 1 2 3 4 5 »
Bugs y Exploits
zhynar_X 46 28,313 Último mensaje 7 Enero 2011, 12:50 pm
por Garfield07
Problema al sobrescribir « 1 2 »
Análisis y Diseño de Malware
MasterPunk 12 7,197 Último mensaje 3 Octubre 2010, 19:12 pm
por APOKLIPTICO
Screenshot + Guardar Imagenes sin sobrescribir
.NET (C#, VB.NET, ASP)
GonzaFz 2 3,583 Último mensaje 9 Agosto 2011, 04:24 am
por GonzaFz
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines