jquery hover()IE7& IE8

时间:2011-05-29 19:41:36

标签: jquery hover

使用jQuery 1.5.1 尝试了以下代码块:head部分以及在线,在doc ready函数中以及out。没有让它发挥作用,我很难过。它适用于所有其他浏览器。

应该发生的事情是,当用户将鼠标悬停在带有“lsr”类的div上时,会出现另一个带display:none的div。

<script type="text/javascript"> 
    $(document).ready(function() {
        $("div.lsr").hover(
            function() { $("#lsr").show(); },
            function() { $("#lsr").hide(); }
        );
    });
</script>
...
<div class="lsr"></div>

<div id="lsr""> Some Text appears </div>

好吧....所以ANSWER是IE不喜欢空div。它显然不会呈现它。我找到的最好的解决方案是在空div上使用以下CSS .....我尝试添加填充,但没有一个工作。什么工作是在空div上使用以下CSS。

.lsr {
  ...
  background-color: #fff;
  filter:alpha(opacity=0);
  opacity:0.0;
}

2 个答案:

答案 0 :(得分:2)

  • 您的div.lsr没有任何内容,这会让您很难将鼠标悬停(取决于您的CSS)
  • "
  • 上有额外的<div id="lsr"">

如果我解决了这些问题,我可以正常工作:JSFiddle

基于评论的EDIT IE在识别div上没有内容position: absolute的事件时遇到问题。要解决此问题,请尝试使用不同的CSS定位,或向div添加内容(例如&nbsp;

答案 1 :(得分:1)

文件准备好了吗?它不在您的示例代码中,但它是否存在于您自己的代码中?

$(function(){
   $("div.lsr").hover(
        function() { $("#lsr").show(); },
        function() { $("#lsr").hide(); }
    );
});