我试图检查CSS属性从输入到表格单元格。输入在点击时出现,在失去焦点时消失,就像我试图检查它一样。 当我移动到另一个窗口(检查器)时,我如何做到不失去焦点?
当前回答
在chrome devtools设置中,有一个名为模拟焦点页面的选项,默认情况下是禁用的。启用此选项后,如果您单击devtool窗口上的任何位置,都不会导致DOM中的任何元素失去焦点。
Chrome版本>= 86:
打开devtools,按Command+Shift+P (Mac)或Control+Shift+P (Windows、Linux)打开命令菜单。在命令菜单中输入渲染,然后选择显示渲染。在那里,您可以启用模拟一个集中的页面。
在此之后,只需单击任何元素来聚焦,然后单击devtool窗口上的任何地方。你会看到那个元素并没有失去焦点。所以现在您可以轻松地检查或调试。
Chrome版本< 86
转到devtool设置->首选项,在全局选项下,启用模拟一个聚焦页面。
其他回答
不是一个真正的解决方案,但它通常是有效的。
聚焦元素 右击上下文菜单 转到开发人员工具
在Chrome的开发人员工具页面上测试的页面…点击选项菜单,打开设置选项…在DevTools下启用“模拟焦点页面”
然后在测试页面中显示元素。这可以让我的弹出式搜索结果集中在屏幕上,这样我就可以使用它。
如果暂停JavaScript执行而不移动鼠标,则可以捕获正在消失的元素。可以使用键盘快捷键或触发调试器语句。这适用于外观由JavaScript控制的元素,而不是CSS:hover(如果是CSS,请参阅Dumba F。的回答)。
键盘快捷键
这种方法适用于不使用JS在按键时触发特殊行为的页面。这些说明是谷歌Chrome,但可以适应其他现代浏览器:
打开开发人员工具并进入源代码。 注意暂停脚本执行的快捷方式- f8(根据您的操作系统,可能还有其他快捷方式)。 与UI交互以显示元素。 按下F8。 现在你可以移动鼠标,检查DOM,等等。元素会留在那里。
调试器的声明
要触发一个调试器语句,当悬浮元素可见时执行,使用setTimeout:
打开JS控制台,输入: //暂停脚本执行5秒 setTimeout(() =>{调试器;}, 5000) 使悬停打开并等待脚本执行暂停。
(与尼克·法里纳的回答相同)
将以下Javascript代码粘贴到浏览器开发控制台:
// Delayed console log of parent element with disappearing child element(s)
// Once code is trigger, you have 3 seconds to trigger the hidden element before it snapshots.
// The hidden elements should appear in the console ready to inspect.
var timer = 3000; //time before snapshot
var parent_of_element_to_inspect = 'div.elementcontainer'; //container of element to snapshot
setTimeout(function(){
console.log(document.querySelector(parent_of_element_to_inspect).cloneNode(true));
},timer);
如果所有这些都失败了,在控制台中输入以下内容:
setTimeout(() => { debugger; }, 5000)
然后,您有5秒钟的时间(或将值更改为其他任何值)来显示您想要调试的任何内容。
其他的答案都对我不起作用——DOM树在脚本暂停之前一直被修改(即我关心的东西消失了)。
推荐文章
- 为什么我的CSS3媒体查询不能在移动设备上工作?
- 下一个元素的CSS选择器语法是什么?
- 是否有'box-shadow-color'属性?
- 在jQuery中的CSS类更改上触发事件
- 我如何用CSS跨浏览器绘制垂直文本?
- 如何获得box-shadow在左侧和右侧
- 相对定位一个元素,而不占用文档流中的空间
- 我如何使用jQuery按字母顺序排序一个列表?
- 如何在jQuery检索复选框值
- 禁用身体滚动
- 如何在删除前显示确认消息?
- 使用jQuery动画addClass/removeClass
- 在一个CSS宽度的小数点后的位置是尊重?
- 检测输入是否有文本在它使用CSS -在一个页面上,我正在访问和不控制?
- 我怎么能选择一个特定的类的最后一个元素,而不是父里面的最后一个孩子?