首页 > 解决方案 > 如何以编程方式触发鼠标悬停?(orce 悬停状态不起作用)

问题描述

在此页面上:https : //turbo-theme-seoul.myshopify.com/ 将鼠标悬停在相应的菜单项上时会出现下拉菜单。为了检查下拉菜单的 HTML 元素,我需要强制它们显示。通常这可以通过将父菜单项的状态强制:hover在开发人员工具中来完成,但在这种情况下它不起作用。我猜下拉是由javascript而不是CSS触发的。如何使这个下拉菜单以编程方式显示而无需将鼠标移到它上面?我试过了

$($0).hover()

$0.dispatchEvent('mouseover')

在父菜单项上,它们都不起作用。在我看来,“鼠标悬停”事件无法以编程方式触发。那我该怎么做呢?PS:我知道我可以在 HTML 中找到下拉菜单并从中删除“display:none”,我只想知道是否有任何方法可以触发 mouseover 事件并让下拉菜单以编程方式出现以用于学习目的.

标签: javascripteventsdeveloper-tools

解决方案


正如jquery官方文档所说:

.hover() 方法,当传递一个函数时,将为 mouseenter 和 mouseleave 事件执行该处理程序。这允许用户在处理程序中使用 jQuery 的各种切换方法,或者根据 event.type 在处理程序中做出不同的响应。

所以悬停事件由mouseentermouseleave事件组成,所以你不能以编程方式触发悬停事件,因为你不能同时触发mouseentermouseleave。所以你应该使用.mouseenter()来显示你的下拉菜单,并使用.mouseleave()隐藏它。


推荐阅读