2012-06-06 3 views
0

저는 js/jQuery 초보자입니다. 나는 마우스로 클래스를 변경하는 div에 코드를 추가하려고 시도했다. 그것은 FF, 크롬, 그리고 IE9에서 잘 작동합니다. 그러나 IE8과 IE7에서는 작동하지 않습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 코드는 다음과 같습니다.jquery가 IE8에서 작동하지 않는 Onmouseover

<div class="calloutHover" onmouseover="$(this).attr('class', 'calloutHoverOver')" onmouseout="$(this).attr('class', 'calloutHover')" > 
+0

귀하의 코드가 잘 보이는 (두 번째 방법을 사용하여 또한. 제대로 IE8의 고유 한 동작을 처리하기 위해 jQuery를에 의존하고 의미). 어떤 오류가 발생하고 있습니까? div에는 무엇이 들어 있습니까? –

+0

그냥 [this Fiddle] (http://jsfiddle.net/zuul/aTV3E/)으로 테스트를 마치면 잘 작동합니다 ... 참고 : 실제로 변경 사항을 보려면 .html로 변경했습니다. – Zuul

+0

올바른 Doctype이 선언되어 있습니까? – Keith

답변

0

대답은 ie8이 클래스를 attr로 인식하지 못할 수 있다고 생각합니다. ID 없음 존재하지 않는 경우는

<script type="text/javascript"> 
$('#yourdivId').hover(function(){ 
    $(this).addClass('calloutHover'); 
}, function(){ 
    $(this).removeClass('calloutHover'); 
}); 
</script> 

그것은 당신의 HTML에서 별도의 모든 코드를 유지, 당신은 모든 div의에 클래스를 적용 할 수 있습니다 그래서 DIV 후이 곳을 할

$(yourelement).addClass('yourclass') 

베스트 사용 이런 식으로 행동하고 모든 사람들에게 즉시 행동을 적용하고 싶습니다.

(완벽하지,하지만이 일을해야한다)

관련 문제