Foros del Web » Programando para Internet » Javascript »

El objeto no acepta la propiedad o el método 'addEventListener'

Estas en el tema de El objeto no acepta la propiedad o el método 'addEventListener' en el foro de Javascript en Foros del Web. Saludos amigos, estoy recibiendo este error en MSIE y no tengo idea del por qué. La idea del script es que identifique cuando se cargo ...
  #1 (permalink)  
Antiguo 11/10/2012, 15:15
Avatar de Heiroon  
Fecha de Ingreso: junio-2010
Ubicación: Caracas, Venezuela - Por ahora...
Mensajes: 495
Antigüedad: 14 años, 5 meses
Puntos: 63
Exclamación El objeto no acepta la propiedad o el método 'addEventListener'

Saludos amigos, estoy recibiendo este error en MSIE y no tengo idea del por qué.

La idea del script es que identifique cuando se cargo la imagen, y devolverla a través de un httprequest. Anexo el código para ver si me pueden ayudar a solventar. Muchas gracias!

Código Javascript:
Ver original
  1. var params = "jssup=1&x1=" + mx + "&y1=" + my + '&z=' + zoom;
  2.         var xmlhttp = new XMLHttpRequest();
  3.         url = "ajax/moveMap.php?" + params;
  4.         xmlhttp.onreadystatechange = function ()
  5.         {
  6.             if (xmlhttp.readyState == 4 && (xmlhttp.status == 200 || window.location.href.indexOf ("http") == - 1))
  7.             {
  8.                
  9.                 var nueva_img = document.createElement('img');
  10.                 nueva_img.src = xmlhttp.responseText;
  11.                 nueva_img.alt = 'Mapa';
  12.                
  13.                 nueva_img.addEventListener('load', function()
  14.                 {
  15.                     if(nueva_img.complete)
  16.                     {
  17.                         document.getElementById('mapa_imagen').src = nueva_img.src;
  18.                         alert("agarro el listener OK");
  19.                     }
  20.                 }, false);
  21.                
  22.             }
  23.         };
  24.        
  25.         xmlhttp.open("POST", url, true);
  26.         xmlhttp.send(null);

La solicitud se envía y todo esta OK, pero el problema es que la imagen no se cambia sino hasta que recargo la página.
__________________
Gmail : [email protected]
Twitter: @heiroon

I'm back!
  #2 (permalink)  
Antiguo 11/10/2012, 15:19
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 5 meses
Puntos: 220
Respuesta: El objeto no acepta la propiedad o el método 'addEventListener'

En IE no existe el evento addEventListener para eso debes usar AttachEvent

Saludos
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #3 (permalink)  
Antiguo 11/10/2012, 15:30
Avatar de Heiroon  
Fecha de Ingreso: junio-2010
Ubicación: Caracas, Venezuela - Por ahora...
Mensajes: 495
Antigüedad: 14 años, 5 meses
Puntos: 63
Respuesta: El objeto no acepta la propiedad o el método 'addEventListener'

Hola y gracias! probé lo que me dijiste y ahora no funciona en ningún browser. Supongo que lo estoy implementando mal.

Tambien debo aclarar que es una aplicación móvil la que estoy haciendo, y no quiero utilizar Javascript muy complejo para que sea lo mas compatible posible.

Lo coloqué así.

Código Javascript:
Ver original
  1. var params = "jssup=1&x1=" + mx + "&y1=" + my + '&z=' + zoom;
  2.         var xmlhttp = new XMLHttpRequest();
  3.         url = "ajax/moveMap.php?" + params;
  4.         xmlhttp.onreadystatechange = function ()
  5.         {
  6.             if (xmlhttp.readyState == 4 && (xmlhttp.status == 200 || window.location.href.indexOf ("http") == - 1))
  7.             {
  8.                
  9.                 var nueva_img = document.createElement('img');
  10.                 nueva_img.src = xmlhttp.responseText;
  11.                 nueva_img.alt = 'Mapa';
  12.                
  13.                 nueva_img.AttachEvent('load', function()
  14.                 {
  15.                     if(nueva_img.complete)
  16.                     {
  17.                         document.getElementById('mapa_imagen').src = nueva_img.src;
  18.                         alert("agarro el listener OK");
  19.                     }
  20.                 }, false);
  21.                
  22.             }
  23.         };
__________________
Gmail : [email protected]
Twitter: @heiroon

I'm back!
  #4 (permalink)  
Antiguo 11/10/2012, 16:03
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 5 meses
Puntos: 220
Respuesta: El objeto no acepta la propiedad o el método 'addEventListener'

El problema esta que tienes que validar primero si existe el evento para poder agregarlo asi

Código Javascript:
Ver original
  1. if(window.attachEvent){
  2. document.attachEvent("onclick",function(){});
  3. }else{
  4. document.addEventListener("click",function(){});
  5. }
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones

Etiquetas: ajax, js, objeto, php, propiedad, aceptar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:23.