2011-05-01 15 views
5

Estoy trabajando para crear un control deslizante de imagen que carga la imagen en la que el usuario hace clic usando jQuery. Lo tengo funcionando muy bien en Chrome, pero cuando lo probé en Firefox e IE no está cargando la imagen en absoluto. Aquí está mi código:jQuery event.target no funciona en Firefox e IE?

$("img.clickable").click(function() { 
    $("#image_slider").animate({opacity:1.0,left:200},"slow"); 
    $("#image_container").attr("src",event.target.src); 
    ihidden = false; 
}); 

Cuando intento ejecutar esto en Firefox o IE simplemente no carga la imagen. ¿Algunas ideas? :)

Respuesta

9

es necesario definir el event en los argumentos.

$("img.clickable").click(function(event) { 
    $("#image_slider").animate({opacity:1.0,left:200},"slow"); 
    $("#image_container").attr("src",event.target.src); 
    ihidden = false; 
}); 

De lo contrario, va a utilizar window.event.

+1

Sí, esta es la respuesta correcta – jwerre

+0

Eso lo solucionó. ¡Gracias! – CaffeinatedCM

+0

Excelente solución perfecta. ¡Gracias! –

1

tratar de usar en lugar de $(this).attr('src')event.target.src

0

$("img.clickable").click(function(e) { $("#image_slider").animate({opacity:1.0,left:200},"slow"); $("#image_container").attr("src",$(e.target).attr('src')); ihidden = false; });

Esto debería funcionar bien

1

Prueba esto:

target = (window.event) ? window.event.srcElement /* for IE */ : event.target 
+0

No es realmente deseable cuando jQuery ya lo abstrae. También debería verificar primero por 'objetivo', con un retorno en 'srcElement'. – alex