我正在创建一个下拉式大型菜单。仅当单击导航列表项时才会出现该菜单。我希望它在鼠标移开时隐藏,但仅在函数运行半秒的 setTimeout 后才隐藏。这将避免意外的鼠标移出,例如鼠标单击列表项,但随后稍微移出位于 li 内的展开的下拉巨型菜单。
所以基本问题是,如何使用 jQuery 来确定元素当前是否悬停?
如果半秒后悬停,我将保留菜单(如果用户将鼠标移出,但立即返回到 li)。
如果半秒后,鼠标仍然在li之外,则隐藏菜单。
最佳答案
如果您在 mouseenter
或 mouseover
菜单时使用 clearTimeout
清除超时,那么这将解决您的问题。
然后您所要做的就是在下一次 mouseout
或 mouseleave
发生时重置超时。
关于jquery - 使用 jQuery,如何判断元素当前是否为 "hovered",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5168269/