Foros del Web » Programando para Internet » Javascript »

problema en IE addEvent

Estas en el tema de problema en IE addEvent en el foro de Javascript en Foros del Web. Hola, en IE no me funciona y en MZ si, es en lo siguiente: Código HTML: var e = { addEvent : function ( o, ...
  #1 (permalink)  
Antiguo 29/11/2008, 13:52
 
Fecha de Ingreso: marzo-2007
Mensajes: 135
Antigüedad: 17 años, 1 mes
Puntos: 0
Pregunta problema en IE addEvent

Hola, en IE no me funciona y en MZ si, es en lo siguiente:


Código HTML:
var e = {

addEvent : function ( o, ev, fn ) {
	var r = false;
	if (window.addEventListener) {
	o.addEventListener(ev, fn, false);
	r = true;
	}
else if (window.attachEvent)
	r = o.attachEvent("on" + ev, fn);
return r;
}
}


window.onload = function() {

   e.addEvent ( elemento , 'mouseover' , function() { 
    alert (this.tagName);
   }


}


En MZ alerta del nombre del tag del elemento, pero en IE me dice
'undefined'....


Alguien sabe porque pasa esto????

Muchas gracias.
  #2 (permalink)  
Antiguo 29/11/2008, 14:24
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: problema en IE addEvent

Es el comportamiento típico de explorer, donde this, si asignás los eventos de esa manera, no tiene el significado que esperás. Se soluciona modificando la asignación. Una manera serías esta:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>Documento sin t&iacute;tulo</title>
<
script>
var 
= {

addEvent : function ( oevfn ) {
    var 
false;
    if (
window.addEventListener) {
    
o.addEventListener(evfnfalse);
    }
else if (
window.attachEvent){
        var 
f=function(){
            
fn.call(o,window.event);
        }
        
o.attachEvent("on" evf);
    }
}
}


window.onload = function() {

   
e.addEvent document.getElementById('pp') , 'mouseover' , function() { 
    
alert (this.tagName);
   })


}
</script>
</head>

<body>
<p id="pp">boo</p>
</body>
</html> 
  #3 (permalink)  
Antiguo 29/11/2008, 14:43
 
Fecha de Ingreso: marzo-2007
Mensajes: 135
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: problema en IE addEvent

Muchas gracias.
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 22:33.