如何在浏览器中隐藏查找栏?(javascript在调用Ctrl+F后取消它)

How to hide Find Bar in browser? (cancel Ctrl+F by javascript after it was already invoked)

本文关键字:Ctrl+F 调用 javascript 取消 浏览器 隐藏 查找      更新时间:2023-09-26

当用户按下键盘上的Ctrl+F时,浏览器显示一个find box,用户可以在其中键入一些文本,浏览器发现该文本在当前网页上出现。我想保留这个功能,但是一旦我的用户点击网页上的某个地方,例如在某个输入元素上,我希望chrome取消查找-停止-隐藏查找框。

如何在JavaScript中做到这一点?至少在chrome中…

我知道有可能拦截所有键盘事件并取消Ctrl+F键击,因此查找栏永远不会出现,但这不是我的目标,正如我所写的,我希望保留这一点,但自动隐藏编程。

我注意到,如果导航离开网页,查找框消失了,我试图通过在位置上添加#哈希来"导航"。但这似乎不起作用。我实际上无法导航,但也许有一些类似的方法可以帮助?

$(window).keypress(function (e) {
  return !(e.which == 102 && e.ctrlKey)
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

使用jQuery,这段代码可以在Firefox中正常工作。但Chrome没有生成事件,如果你使用Ctrl+F快捷键。而且你不能用JS重写浏览器的行为。如果你要为浏览器编写插件

,你可以重写它