如果Jquery .is(“:hover”)在IE8中不起作用

时间:2012-04-04 13:19:07

标签: jquery internet-explorer internet-explorer-8

我有这个代码在IE8中不起作用:

$("#intro-screenshot").hover(
   function(){
      $(".img-action").show();
   },
   function(){
      if(!$(".img-action").is(":hover")) {
         $(".img-action").hide();
      }
   }
);

它突破了这一行:if(!$(".img-action").is(":hover"))

HTML:

<a href="#">
   <img src="#" alt="" id="intro-screenshot" />
   <span class="img-action" style="top:90px; left:115px;">
   See Features
   </span>
</a>

我不认为这是一个已知的Jquery问题,但我可能错了..

JSFIDDLE

3 个答案:

答案 0 :(得分:2)

你可以使用CSS。它处理您正在寻求解决的确切问题,也更优雅。

#inner {
    display: none;
}

#outer:hover #inner {
    display: block;
}

jsFiddle:http://jsfiddle.net/7xMpr/

修改

使用您的代码http://jsfiddle.net/QeLSJ/1/

的jsFiddle

答案 1 :(得分:1)

如果您尝试这样做怎么办:

$("#intro-screenshot").hover(
   function(){
      $(".img-action").show();
   },
   function(){
       if($(".img-action:hover").length == 0) {
         $(".img-action").hide();
      }
   }
);

答案 2 :(得分:0)

try{
    jQuery('body').live('click', function(){
    var booleans=0; 
    try{
        booleans=jQuery("#loginForm:hover").length;
        //booleans=jQuery('#loginForm').is(':hover');
    }catch(e){}
    if(booleans==0){
        document.getElementById("d1").style.display = 'none';
    }
  });       
}catch(e){}