Onmouseover与jquery无法在IE8上工作

时间:2012-06-06 17:59:13

标签: jquery internet-explorer-8

我是js / jQuery新手。我试图在div上添加一些代码,在鼠标悬停时改变它的类。它在FF,Chrome和IE9中运行良好。但在IE8和IE7中,它无法正常工作。我究竟做错了什么?代码是:

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

1 个答案:

答案 0 :(得分:0)

我认为答案在于ie8可能无法将类视为attr。所以使用

$(yourelement).addClass('yourclass') 

最好在div之后的某个地方执行此操作:

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

它将所有代码与HTML分开,如果没有id,那么您可以将类应用于您希望以这种方式运行的所有div,并立即将行为应用于所有div。

(使用第二种方法也意味着你依靠jQuery来正确处理ie8的独特行为。)