我试图检查CSS属性从输入到表格单元格。输入在点击时出现,在失去焦点时消失,就像我试图检查它一样。 当我移动到另一个窗口(检查器)时,我如何做到不失去焦点?


当前回答

在Chrome浏览器中,打开开发人员工具,然后选择元素选项卡 打开你想要检查的元素的父节点的上下文菜单,在上下文菜单中单击>子树修改上的Break。

之后,你只需要点击页面,你就会进入检查器,而不会失去焦点或失去你想要检查的元素。

其他回答

不确定这是否在你的情况下工作,但通常(在任何情况下都值得一提,因为这是一个伟大的工具)在Chrome开发工具中,你可以模拟元素的状态,其中一个也是:焦点。

要做到这一点,请转到开发人员工具中的元素选项卡,并确保您在右侧的样式部分(这应该是启动开发人员工具时的默认位置)。现在在右上角的样式下面有一个Toggle Element State图标。当你点击它时,你可以模拟:active,:hover,:focus和:visited在你的代码视图中选择左边的元素。

将以下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);

如果你打开Chrome DevTools,然后使用键盘快捷键触发元素检查器,它应该可以解决这个问题。

Mac: Cmd+Opt+J,然后Cmd+Opt+C

Windows:先按Ctrl+Shift+J,再按Ctrl+Shift+C

[

在chrome devtools设置中,有一个名为模拟焦点页面的选项,默认情况下是禁用的。启用此选项后,如果您单击devtool窗口上的任何位置,都不会导致DOM中的任何元素失去焦点。

Chrome版本>= 86:

打开devtools,按Command+Shift+P (Mac)或Control+Shift+P (Windows、Linux)打开命令菜单。在命令菜单中输入渲染,然后选择显示渲染。在那里,您可以启用模拟一个集中的页面。

在此之后,只需单击任何元素来聚焦,然后单击devtool窗口上的任何地方。你会看到那个元素并没有失去焦点。所以现在您可以轻松地检查或调试。

Chrome版本< 86

转到devtool设置->首选项,在全局选项下,启用模拟一个聚焦页面。

我有一个更快的解决办法,因为我不太擅长使用工具,这是我所做的。

event.originalEvent.preventDefault();
event.originalEvent.stopImmediatePropagation();
event.originalEvent.stopPropagation();