Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jQuery,如何判断元素当前是否为;悬停;_Jquery_Hover - Fatal编程技术网

使用jQuery,如何判断元素当前是否为;悬停;

使用jQuery,如何判断元素当前是否为;悬停;,jquery,hover,Jquery,Hover,我正在创建一个下拉菜单。该菜单仅在单击导航列表项时显示。我希望它隐藏在mouseout上,但只有在函数在setTimeout上运行半秒之后。这将避免意外的鼠标移出,例如,如果鼠标单击列表项,然后稍微移出li中的扩展下拉菜单 所以基本问题是,如何使用jQuery确定元素当前是否处于悬停状态? 如果半秒钟后鼠标悬停,我将保留菜单(如果用户将鼠标移出,但立即返回到li) 如果半秒钟后,鼠标仍在li之外,则隐藏菜单 我找到的唯一方法是使用插件hoverIntent: 如果在mouseenter或mous

我正在创建一个下拉菜单。该菜单仅在单击导航列表项时显示。我希望它隐藏在mouseout上,但只有在函数在setTimeout上运行半秒之后。这将避免意外的鼠标移出,例如,如果鼠标单击列表项,然后稍微移出li中的扩展下拉菜单

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

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


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

我找到的唯一方法是使用插件hoverIntent:


如果在
mouseenter
mouseover
菜单上使用
clearTimeout
清除超时,那么问题就解决了


然后,当下一次
mouseout
mouseleave
发生时,您所要做的就是重置超时。

jQueryReferenceToElement.is(':hover')
太棒了!这正是我需要的。谢谢<代码>:hover实际上不是jQuery中支持的选择器,从v1.6.2开始,在某些情况下会出错