jQuery事件目标在Firefox和IE中无法工作?

6

我正在制作一款图像幻灯片,使用jQuery加载用户点击的图片。在Chrome中它运作得很好,但是当我尝试在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中尝试运行此代码时,图片根本不会加载。有什么想法?:)

4个回答

10

你需要在参数中定义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

太好了,完美的解决方案。谢谢! - Vaibhav Jain

1

尝试使用$(this).attr('src')代替event.target.src


1
尝试一下这个:
target = (window.event) ? window.event.srcElement /* for IE */ : event.target

当jQuery已经将其抽象化时,这并不是理想的。您还应该首先检查target,然后回退到srcElement - alex

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; });

这应该可以很好地工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接