jQuery悬停长度在Chrome和Firefox上给出不同的值

时间:2017-06-13 16:18:56

标签: jquery firefox hover

我正在使用jQuery'以下代码:

$('.myClass:hover').length()

当我的鼠标不在我的元素上时,该值应该为0,在它的时候为1。我使用此属性更改应用程序中的某些显示参数。我发现我的代码虽然看似正确,却无法与Firefox一起使用。

这导致了一个更普遍的问题:在某些特定情况下,jQuery的悬停长度在Chrome和Firefox中没有给出相同的值。我遇到的情况是当我的鼠标离开元素时我抓住了这个事件。

这是一段非常简单的代码片段,通过警告值来复制问题:



$('#imagetest').mouseleave(function(){
  alert($('#imagetest:hover').length);
});

.img-container{
  width:300px;
  height:150px;
  background-color:blue;
  overflow:hidden;
}

.img-container img{
  width:100%;
  height:auto;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="img-container">
  <img id="imagetest" src="http://www.planwallpaper.com/static/images/sunset_winter_shadows-wallpaper-1366x768.jpg">
</div>
&#13;
&#13;
&#13;

这个问题也可以在jsFiddle中看到。当您将图像区域保持在右侧时,Firefox上的值保持为1,Chrome上的值为0。但是,当将图像区域保留在CSS或JS代码区域的方向时,该值将变为0!

感谢您的帮助,非常感谢。

0 个答案:

没有答案