“检查”悬停元素?


100

注意:我读过类似的主题,但是我的问题完全没有-我可以右键单击它,然后它消失。

我发现“检查元素”是Chrome中的宝贵工具,但是当我了解到许多人已经掌握的向导方式后,我的最新尝试是我在导航栏上为该元素创建了一个子菜单,将其悬停在下方时会弹出该菜单。父项。

弹出窗口(或向下弹出窗口)的样式不是我想要的,因此我右键单击> inspect元素以查看确切来自何处,并更好地了解如何实现所需的效果。

但是,一旦我将鼠标从菜单上移开,它就消失了。

因此,我无法在检查窗格中选择其他元素,也无法同时看到突出显示的区域。

是否有解决此问题的方法,而不更改菜单,使菜单一旦激活就保持“弹出”状态?


2
在这种情况下,我通常使用控制台对页面进行临时修改,例如mouseleave从父菜单中删除事件。即使将鼠标从父菜单中移出,子菜单也应保持打开状态。
jbabey 2013年

Chrome现在支持此功能。选择UI元素(例如,标签)> Inspect Element> Styles选项卡,在过滤器框旁边有一个“:hov”部分。点击它。现在,您可以选择悬停复选框,并查看悬停时加载的样式。
Dhanuka777 '16

Answers:


69

如果hover效果是CSS肯定的,那么我通常使用两个选项来实现:

一,到seehover effect当鼠标离开hover area
在停靠窗口打开检查,并增加宽度,直到达到你的HTML element,然后点击右键,在弹出菜单中必须在检查区......那么当你将鼠标移动到检查员视图,hover effect保持激活状态。

在此处输入图片说明

二,到keephover effect即使鼠标还没有结束HTML element,打开检查,去Styles TAB,然后点击右上角的图标,说Toggle Element State...(虚线的矩形有一个箭头)在那里,你可以手动激活Hover Event(等等)与提供的复选框。

在此处输入图片说明

如果还不清楚,请告诉我,我可以添加一些屏幕截图。 编辑:添加了屏幕截图。

最后,正如我在开始时所说的,例如,当您hoverCSS:HOVER... 设置为...时,只有在控制hover statewith jQuery.onMouseOver的情况下,才可以(有时)使用方法One。

希望能帮助到你。


4
您的第一个解决方案是一个好的解决方法,我有一种方法可以改善它:右键单击悬停的元素,将鼠标完全移到“检查器区域”,然后使用键盘键导航并在“检查元素”上按Enter ”。该元素将保持悬停。至于您的第二个解决方案,是的,(或使用上下文菜单的:hover)显然应该是正确的解决方案,但是非常不幸的是,只要我还记得,
它就

我曾经在Windows中这样做,但是在Mac中这种方法不起作用,有人在Mac上找到了解决此问题的方法吗?即使鼠标位于检查器或子菜单中,它似乎也“将”鼠标移动事件“传达”给窗口
圣地亚哥·亚利桑那

@GiladBarner感谢您提供的快捷方式,它对我有用。我不知道这是否是PC上的问题,但是当下拉菜单可见时,我看不到通过键盘选择的菜单选项,快捷键(ctrl-shift-I)不起作用,因此,由于inspect元素是下拉菜单中的最后一个选项,因此我使用向上箭头键环绕到了最后一个项目,然后按Enter键,它起作用了。
比尔·希勒曼

似乎此刻该:hover选项在“切换类选项”中
Sagnik Pradhan

151

如果悬停是由JS触发的,只需通过键盘暂停脚本执行即可。这是一个很大冻结DOM比其他的答案提示的简单的方法。

这是您在Chrome浏览器中的操作方法。我确定Firefox具有等效的过程:

  1. 打开开发人员工具,然后转到“源代码”。
  2. 请注意暂停脚本执行的快捷方式F8

    暂停脚本执行

  3. 与UI交互以显示元素。

  4. F8
  5. 现在,您可以移动鼠标,检查DOM,无论如何。该元素将保留在那里。

3
此处提供的其他方法在很多情况下都无法使用。
Ed Staub

完善。由于某种原因,F8在我找到此帖子之前无法正常工作。现在,我在正在诊断的同一页面上再次尝试了此方法,并且它可以正常工作。(cwl)
Drew

2
太棒了 我认为这是最好的方法。
Varun Mehta

1
对于Safari,它是Debugger标签页
user2661518

6
它对我不起作用。之后F8,屏幕冻结,无法选择任何元素。我的解决方法是按F8,切换到Elements选项卡,然后搜索悬停元素上的单词。
AngryHacker

32

对我有用的是选择要检查的特定标签并执行以下操作:

在此处输入图片说明

完成上述操作后,我通常会再次选择该标签,然后即使将鼠标悬停在其他位置(如Inspect Element等)上,下拉菜单也会自动保持原样。

您可以在检查菜单下拉菜单元素回到正常状态时刷新浏览器。

希望这可以帮助。:)


5
天才 :)。这允许检查javascript显示的悬停。
ElwoodP

1
好的,它比我的原始答案要好。
维克多

14

您也可以在javascript控制台中执行此操作:

$('#foo').trigger('mouseover');

会“冻结”处于“悬停”状态的元素的。


7

这是在Chrome中没有CSS更改或JS暂停的情况下执行的方法(如果您在Win上运行,我在Mac上,并且没有PC在我面前):

  1. 打开您的开发者控制台。
  2. 暂时不要启用悬停检查工具,而是通过将鼠标移到它上面来打开所需的子菜单。
  3. 点击Command+ Shift+ C(Mac)或Ctrl+ Shift+ C(Win / Linux)

现在,悬停检查工具将应用于您在子导航中打开的元素。


4

不知道它是否存在于以前的浏览器版本中,但是我才发现这种极其简单的方法。

在chrome或Firefox中打开检查器,右键单击您感兴趣的元素,然后选择适当的选项(在这种情况下:悬停)。这将触发关联的CSS。

打开铬菜单 在Firefox中打开相同的菜单

Firefox 55和Chrome 61的屏幕截图。


2

优秀的东西!

谢谢gmo的建议。我不知道这些属性设置是否有很大帮助。

作为措辞的一个小修改,我将对此过程进行如下解释:

  • 右键单击要设置样式的元素

    • 打开“检查”工具

    • 在右侧,导航到小的“样式”选项卡

    • 在上面的CSS样式表内容中找到

    • 选择.hov选项-这将为您提供所选HTML元素的所有可用设置

    • 单击并将所有选项更改为非活动状态

    • 现在,选择您想要调整的状态-激活任何一种状态后,您的样式表都会直接将您跳到这些设置:

样式-调整过滤器-交互式元素

这些信息对我来说是救命稻草,不敢相信我刚刚听说过!


这是镀铬的最佳方法!
拂尘

1
太好了,我的回应对您有帮助吗?
丹·哈多克

0

更改CSS,以便在您处理菜单时不应用隐藏菜单的属性。


呵呵,来吧,我没有做这样的修改就专门说了。
OJFord

您说过,所以它不会“在激活后保持弹出状态”。我建议删除所有激活触发器,使其始终可见。这就是我执行所有弹出菜单的方式,否则这将是一个痛苦的世界。但是把自己踢出去:)
伍迪

0

我需要这样做,但是我尝试检查的元素是根据另一个元素的悬停状态动态添加和删除的。我的解决方案与类似,但对我而言并不奏效。

所以这就是我所做的:

  1. 添加简单的脚本,以在mouseover触发您关注的悬停事件的元素之后进入调试器模式。
$(document).on('mouseover', '[your-hover-element-selector]', function(e) {
  debugger;
});
  1. 然后,在Chrome中打开开发者控制台,将鼠标悬停在元素上,您将进入调试器模式。导航到开发工具的“源”部分,然后单击“恢复脚本执行”按钮(下面的蓝色类似播放的按钮)。

在此处输入图片说明

完成此操作后,您的DOM将在悬停状态下暂停,您可以使用元素检查器检查该状态下存在的所有元素。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.