javascript - 如何使浏览器页面搜索 (Ctrl-F) 从特定 div 开始

标签 javascript jquery

我们有一个简单的 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/

相关文章:

javascript - 如何在 Coffee 脚本中正确使用带有参数的函数

javascript - 如何使用 Javascript 将下拉列表菜单更改为表格菜单

javascript - 如何删除所有基于类的内部 div

javascript - 将文本字段输入传递给 Javascript 变量 - AJAX Codeigniter

javascript - 带 app.use 的 multer 配置返回 TypeError

javascript - 无效的 JSON 解析器错误

javascript - 使用 jQuery 或 CSS 交换列表项——这可能吗?

javascript - 如何将事件分配给变量

jquery - 在 Internet Explorer 9 中使用 jQuery 为子项设置动画时父 div 投影错误

javascript - Bootstrap 3 工具提示删除图像填充