2011-05-01 3 views
5

jQuery를 사용하여 사용자가 클릭하는 이미지를로드하는 이미지 슬라이더를 만드는 중입니다. Chrome에서 훌륭하게 작동하지만 파이어 폭스와 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; 
}); 

나는 이것을 파이어 폭스 또는 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

+0

입니다. 감사! – CaffeinatedCM

+0

훌륭하고 완벽한 솔루션. 감사! –

1

노력이 잘

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

$(this).attr('src')를 사용하여 :

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

이 시도 작동합니다 대신 event.target.src

+0

jQuery가 이미이를 추상화 한 경우에는별로 바람직하지 않습니다. 'srcElement'를 대체하여'target'을 먼저 확인해야합니다. – alex

관련 문제