2011-05-01 71 views
5

我正在制作一个图像滑块,用于加载用户使用jQuery所点击的图像。我在Chrome中使用效果很好,但是当我在Firefox和IE中试用它时,根本没有加载图像。这里是我的代码:jQuery event.target不能在firefox和IE中工作?

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

当我尝试在firefox或IE中运行它时,它根本没有加载图像。有任何想法吗? :)

回答

9

您需要的参数来定义event

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

否则它会使用window.event

+1

是的,这是正确的答案 – jwerre 2011-05-01 04:45:15

+0

修复它。谢谢! – CaffeinatedCM 2011-05-01 14:36:00

+0

完美的解决方案。谢谢! – 2015-07-12 12:11:45

1

尝试使用$(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; });

这应该只是罚款

1

试试这个:

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

当jQuery已经将这些内容抽象出来时,这并不是真正需要的。你还应该首先检查'target',并在'srcElement'上进行回退。 – alex 2012-02-04 22:28:23

相关问题