Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.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
Javascript 收听浏览器Ctrl+;F/查找布局修改_Javascript_Google Chrome - Fatal编程技术网

Javascript 收听浏览器Ctrl+;F/查找布局修改

Javascript 收听浏览器Ctrl+;F/查找布局修改,javascript,google-chrome,Javascript,Google Chrome,在当前的最小示例()中: 福 酒吧 “foo”单元格是唯一可见的单元格。然后,如果我执行Ctrl-F(在浏览器中查找特征)并开始键入“bar”,div中的表将向上显示(就像它的顶部发生变化一样),以向用户显示匹配的元素 我希望能够通过find特性查找“bar”,但我希望通过javascript处理布局修改 我知道这是不可能的。我只想听听这个布局修改,以防止它或同步我的其余视图相应。我试着听滚动事件或使用Chrome,但没有成功。有什么想法吗 关于布局修改的类似Stackoverflow通知

在当前的最小示例()中:


福
酒吧
“foo”单元格是唯一可见的单元格。然后,如果我执行Ctrl-F(在浏览器中查找特征)并开始键入“bar”,div中的表将向上显示(就像它的顶部发生变化一样),以向用户显示匹配的元素

我希望能够通过find特性查找“bar”,但我希望通过javascript处理布局修改

我知道这是不可能的。我只想听听这个布局修改,以防止它或同步我的其余视图相应。我试着听滚动事件或使用Chrome,但没有成功。有什么想法吗

  • 关于布局修改的类似Stackoverflow通知单:
  • Chromium dev频道跟踪器上关于布局修改的票证:

我还没有测试过这一点,但有一个选项是在ctrl+f键上按下
preventDefault()
,然后制作自己版本的查找功能。

我认为不可能听这些布局修改

当浏览器找到一个元素时,它相当于为匹配的元素调用
scrollIntoView
。因此,仅当容器div可滚动时才会触发滚动事件

在本例中,父样式为
overflow:hidden。因此,它不会触发任何滚动事件

这样就不可能监听这些布局更改,因为监听overflow:hiden元素上的滚动事件的唯一解决方法是


糟糕的情况是,不可能阻止用户通过浏览器查找修改布局,因为即使可以,我们也无法阻止用户使用Firefox或IE中的
Edit->find
菜单进行自定义搜索确实是解决此问题的一种方法。但是,即使我们可以阻止用户从
Ctrl+F或F3
打开搜索,我们也不能阻止用户通过Firefox和IE中的
Edit->Find
菜单打开搜索,例如…谁会这样做?可能不是很多人。我认为这是一个边缘情况,可能不值得花时间来实现一个解决方案。我有4个表,我正在使用固定的行和列标题,需要保持它们都同步。我使用轮询来检测scrollTop和scrollLeft的更改。也可以用其他方法来实现,请看问题是什么“我们可以收听布局修改吗?”答案仍然是否定的,您不应该投反对票!您提供的链接只能收听关键字,而查找可以使用浏览器菜单关闭,而不会触发任何关键字!您的第一个建议是,使用轮询来检测更改可能会起作用,尽管它看起来非常脏。。。
<div style="overflow: hidden; height: 24px;">

<table>
<thead>
<tr>
<td style="background-color: rgb(109,173,157);">foo</td>
</tr>
</thead>
<tbody>
<tr>
<td style="background-color: rgb(236,222,117);">bar</td>
</tr>
</tbody></table>

</div>