jquery - 使用 jQuery,如何判断元素当前是否为 "hovered"

标签 jquery hover

我正在创建一个下拉式大型菜单。仅当单击导航列表项时才会出现该菜单。我希望它在鼠标移开时隐藏,但仅在函数运行半秒的 setTimeout 后才隐藏。这将避免意外的鼠标移出,例如鼠标单击列表项,但随后稍微移出位于 li 内的展开的下拉巨型菜单。

所以基本问题是,如何使用 jQuery 来确定元素当前是否悬停?

如果半秒后悬停,我将保留菜单(如果用户将鼠标移出,但立即返回到 li)。

如果半秒后,鼠标仍然在li之外,则隐藏菜单。

最佳答案

如果您在 mouseentermouseover 菜单时使用 clearTimeout 清除超时,那么这将解决您的问题。

然后您所要做的就是在下一次 mouseoutmouseleave 发生时重置超时。

关于jquery - 使用 jQuery,如何判断元素当前是否为 "hovered",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5168269/

相关文章:

javascript - 从 responseText 中获取特定的 div 内容并将源代码保存到数据库中

html - 无法使下拉悬停工作

html - 当我只悬停一个时,为什么会显示所有列表元素的箭头?

javascript - 添加超时会破坏一切

html - 透明悬停背景

jquery - 当最后一行在浏览器中可见时,如何将行追加到表中?

javascript - 如果 elem 具有过渡属性 (jQuery),则值累积在 .css() 中不起作用

javascript - 在内容更改时对内联 block 元素进行动画换行

javascript - 如果值已经存在,如何将字符添加到值的末尾?

javascript - 如何在 css 中悬停时更改光标大小