javascript - 如何检测鼠标是否位于 jQuery 或 Javascript 中的项目上

标签 javascript jquery hover

是否可以检查光标是否位于某个项目上?就我而言,我无法使用 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/

相关文章:

javascript - SAPUI5 - [50053] - 尺寸绑定(bind)不完整

javascript - 在循环中使用 $.Deferred() 和嵌套的 ajax 调用

javascript - 如何在使用 fancybox 时从这个 span 元素创建一个 javascript 变量?

javascript - 使用jquery在页面登录

div悬停时的CSS不透明度

javascript - Excel SelectionChanged 事件未触发

javascript - 仅带有日期选择器的自定义 jQuery UI 下载不包含所有 css

javascript - jQuery ".on( ' click' ,....)"不适用于 LET 变量声明。但适用于 VAR

html - 如何使图像随着悬停而淡化并显示文本?

html - 悬停时列表项背景颜色改变