我们有一个简单的 html 布局,其中包含导航 div 和内容 div。在某些情况下,导航面板可能包含大量内容。
当您使用默认浏览器页面搜索 Ctrl-F 时,搜索从导航 div 开始,可能需要多次“下一步”单击才能访问内容面板(取决于搜索词)。
是否有任何方法可以强制浏览器页面搜索从特定 div 开始?
最佳答案
有一种方法可以使用 javascript 创建选择...
现在,如果您选择
一些文本,然后使用查找
搜索
某些内容 浏览器工具...
搜索结果
必须从该点开始。
(即使结果显示页面中的所有匹配项,第一个结果也会从用户选择文本的位置开始)
所以,如果我们加入这两个......我们可以找到您需要的方法......
像这样:
$(window).on('keydown', function (event) {
if ((event.ctrlKey || event.metaKey) && (String.fromCharCode(event.which).toLowerCase() == 'f')) {
if (document.selection) {
var range = document.body.createTextRange();
range.moveToElementText(document.getElementById('search_from_here'));
range.select();
} else if (window.getSelection) {
var range = document.createRange();
range.selectNode(document.getElementById('search_from_here'));
window.getSelection().addRange(range);
}
}
});
查看此 jsFiddle 示例 http://jsfiddle.net/gmolop/tdo7p1o5/
重要!:焦点必须放在“结果 iframe”上,此示例才能工作(在 jsfiddle 中)
关于javascript - 如何使浏览器页面搜索 (Ctrl-F) 从特定 div 开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31856155/