Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.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 - Fatal编程技术网

Javascript 是否可以使用Ctrl+;F

Javascript 是否可以使用Ctrl+;F,javascript,Javascript,如何使用浏览器Ctrl+F从文本搜索中检测文本选择 例如,我想制作一个FAQ,项目在哪里关闭(以消除混乱),单击它们会打开其中的文本,但同时我不希望Ctrl+F被破坏 所以我在想,JavaScript是否有办法检测到我在一个不可见(但可选择)的文本块中搜索了一些文本,并自动打开它 甚至可以使用Ctrl+F从搜索中检测文本选择吗?如果是,怎么做 一个更具体的例子:我有一个id为“one”的div和一个id为“two”的div 两者都有自己的文本: <div id="one">Googl

如何使用浏览器Ctrl+F从文本搜索中检测文本选择

例如,我想制作一个FAQ,项目在哪里关闭(以消除混乱),单击它们会打开其中的文本,但同时我不希望Ctrl+F被破坏

所以我在想,JavaScript是否有办法检测到我在一个不可见(但可选择)的文本块中搜索了一些文本,并自动打开它

甚至可以使用Ctrl+F从搜索中检测文本选择吗?如果是,怎么做

一个更具体的例子:我有一个id为“one”的div和一个id为“two”的div 两者都有自己的文本:

<div id="one">Google is a search engine</div>
<div id="two">Stackoverflow users are very informative</div>
Google是一个搜索引擎
Stackoverflow用户信息量很大
两者都将文本隐藏在视图之外,但仍然可以选择,但不能使用鼠标(使用边距或覆盖)


因此,用户在此页面上搜索“Stackoverflow”,我想在搜索选择时触发一个JavaScript函数(如何),我需要运行该函数来知道哪个div、哪个ID选择了一些文本。

据我所知,没有办法。搜索字段的内容完全由浏览器控制,您无法从页面中访问

但是,您可以做的是检测文档中的选择并对此做出反应。但是,这可能会产生许多误报(因为您无法区分普通选择和搜索),并且它不适用于不使用普通选择突出显示搜索结果的浏览器


有关检测选择的更多信息:

这取决于浏览器。在Chrome中(通常可能是Webkit?),它似乎使用了一个与DOM API中的选择不同的选择

但是,Firefox在突出显示Ctrl+F中的文本时将使用DOM选项

例如,转到google.com,在Firebug中键入:

window.getSelection().toString()

这将返回

现在按Ctrl+F组合键,输入隐私,然后按enter键

在Firebug中再次输入上述命令,您将获得:


“隐私”

为什么不让FAQ搜索变得友好,并为此使用服务呢。可能是一个很好的开始。

更不用说
Command-F
编辑->查找
/
…感谢firebug确实显示了这些细节,但我的意思是检测a中的文本是搜索的,而不是搜索时选择的文本。对于2019年发现这一点的任何人来说:这仍然是事实;Chrome不使用DOM选择,而Firefox使用。选择类型是什么并不重要,只要我知道它已被选中。