我正在使用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;
这个问题也可以在jsFiddle中看到。当您将图像区域保持在右侧时,Firefox上的值保持为1,Chrome上的值为0。但是,当将图像区域保留在CSS或JS代码区域的方向时,该值将变为0!
感谢您的帮助,非常感谢。