2011-05-01 7 views
5

Je travaille sur la création d'un curseur d'image qui charge l'image sur laquelle l'utilisateur clique en utilisant jQuery. Je l'ai bien fonctionné dans Chrome, mais quand je l'ai essayé dans Firefox et IE, il ne charge pas l'image du tout. Voici mon code:jQuery event.target ne fonctionne pas dans Firefox et IE?

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

Lorsque j'essaie d'exécuter ceci dans Firefox ou IE, il ne charge tout simplement pas l'image. Des idées? :)

Répondre

9

Vous devez définir les event dans les arguments.

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

Sinon, il va utiliser window.event.

+1

Oui, ceci est la bonne réponse – jwerre

+0

Cela l'a corrigé. Merci! – CaffeinatedCM

+0

Grande, solution parfaite. Merci! –

1

essayer d'utiliser $(this).attr('src') au lieu de 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; });

Cela devrait fonctionner très bien

1

Essayez ceci:

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

Ce n'est pas vraiment souhaitable lorsque jQuery résume déjà cela. Vous devriez également vérifier d'abord 'target', avec un repli sur' srcElement'. – alex

Questions connexes