是否可以检查光标是否位于某个项目上?就我而言,我无法使用 focus()、mouseenter() 或任何相关方法,但我只需要确定鼠标是否位于其上方。
最佳答案
在这种特殊情况下,您可以在要隐藏的元素之上创建一个透明的覆盖元素,而不是检查鼠标的状态。
因此,当该区域悬停时它会显示,当它不在该区域时它会隐藏 显然设置要隐藏的元素(直到悬停)为默认值 显示:无;在你的 CSS 中 - 因此它仅在悬停时显示在用户的眼前。
我知道这不是OP所要求的,但它有效。
$(document).ready(function(){
/*
* #object is your element you
* want to hide unless hovered
*/
$("#object").on("mouseleave", function(){
// divs you want to hide/show
$('#object').hide();
$('#overlay').show();
})
/*
* #overlay is the transparent element
* that will sit over the top of #object
*/
$("#overlay").on("mouseenter", function(){
// divs you want to hide/show
$('#object').show();
$('#overlay').hide();
})
});
在这里查看它的工作http://jsfiddle.net/si_jsfiddle/CvkyE/
这是一个很好的选择,因为 mouseenter 和 mouseleave 不受其之上的对象的影响,尤其是在 on() 方法中没有设置标记对象参数的情况下,这也是为什么它们非常适合带有链接的 div 容器在顶部等...
关于javascript - 如何检测鼠标是否位于 jQuery 或 Javascript 中的项目上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6598980/