2009-11-28 4 views
3

event.target 객체에서 클래스 이름에 액세스하려고 시도합니다. FF, Safari 및 Chrome에서 작동합니다. InternetExplorer 7은 "정의되지 않음"을 경고합니다. 어떤 제안?ie7의 JQuery Event.target 문제

<script type="text/javascript"> 
$("document").ready(function(){ 
    $(".page").hide(); 
    $(".page:first").show(); 
    $("#navBar a").bind("click", linkClicked); 
}); 
function linkClicked(event){ 
    $("div.page:visible").fadeOut(250, function(){ 
    var $target = $(event.target); 
    alert($target.attr("class")); 
    //$("#" + $(event.target).attr("class")).fadeIn(250); 
    }); 
} 
</script> 

답변

2

해결책을 찾았습니다. 페이드 아웃하기위한 콜백 전에 event.target을 var로 설정하십시오. : 왜 어떤 생각? 페이딩 애니메이션이 시작하면

<script type="text/javascript"> 
$("document").ready(function(){ 
    $("#content").css("opacity","0.8"); 
    $(".page").hide(); 
    $(".page:first").show(); 
    $("#navBar a").bind("click", linkClicked); 
}); 
function linkClicked(event){ 
    var $target = $(event.target); 
    $("div.page:visible").fadeOut(250, function(){ 
    alert($target.attr("class")); 
    //$("#" + $(event.target).attr("class")).fadeIn(250); 
});  
} 
</script> 
+1

내 생각 엔,는 IE7의 DOM 이벤트는 따라서는 '대상'그 다음 '애니 메이팅'는 반환하지 수, (적어도 일시적으로) 망쳐 처리. 다행히 일 라운드를 찾았습니다. Btw, 당신의 자신의 대답을 받아들이십시오 : P –

+0

고마워요 ... 그게 나를 위해 일하는 :) – Parag