jQuery - 如何检查哪个元素正在悬停(但不是任何特定元素!)

标签 jquery hover mousemove mouseout mouseleave

我想使用 jQuery 来确定当前悬停在哪个元素上。它可以是页面上的任何元素,这意味着 mouseovermouseoutmouseentermouseleave 不适用在这里,因为它们与特定元素相关。

这是一个快速示例:

$(window).bind('mousemove', function() {
    if (elementBeingHoveredOver.attr('id') != 'foo') {
        // ... (Do some cool stuff here) ...
        $(window).unbind('mousemove');
    }
});

我知道,我知道,看起来最好将 mouseentermouseleave 事件处理程序绑定(bind)到 #foo 元素就这样做了,但是鼠标经常移动得太快而无法注册 mouseleave 事件,所以我想尝试这种方式。

关于如何确定 elementBeingHoveredOver 有什么想法吗?

最佳答案

试试这个

$(window).bind('mousemove', function(e) {
    if ($(e.target).attr('id') != 'foo') {
        // ... (Do some cool stuff here) ...
        $(window).unbind('mousemove');
    }
});

关于jQuery - 如何检查哪个元素正在悬停(但不是任何特定元素!),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8480329/

相关文章:

css - 悬停在不是后代的工具提示上时,将悬停样式保持在父级上

html - 将鼠标悬停在 img 上时,表格必须可见

html - CSS 信息框悬停

.net - c# 检查列表框 MouseMove 与 MouseHover 事件处理程序

javascript - 在 Canvas 上拖动 JavaScript

javascript - 连接的可排序列表

javascript - Php 使用 JQUERY AJAX 的相似与不同

javascript - 基于国家/地区的 Bootstrap 表单助手状态选择器

javascript - 使用鼠标移动 jQuery Tipsy 工具提示

javascript - 如果字符数 =< 160,如何将初始 SMS 数显示为 1?