javascript - 有没有办法在javascript中检测页面搜索中的查找

标签 javascript events find

每个浏览器都有“在页面上查找”功能 (ctrl+F)。有没有办法在 JavaScript 中检测用户搜索,以便我可以附加其他操作。

最佳答案

这是一个可以解决替代页面查找情况的解决方案(例如 Command+F,Firefox 上的“/”)。它会检查这些按键中的任何一个,并在按键发生时设置一个计时器。如果窗口很快就变得模糊,则假定正在显示“查找”对话框。

缺点:不考虑通过菜单启动的“查找”对话框。我没有看到任何方法来确定这部分,因为(至少据我所知)浏览器 UI 禁止在 DOM 内运行 Javascript。

var keydown = null;

$(window).keydown(function(e) {
    if ( ( e.keyCode == 70 && ( e.ctrlKey || e.metaKey ) ) ||
         ( e.keyCode == 191 ) ) {
        keydown = new Date().getTime();
    }

    return true;
}).blur(function() {
    if ( keydown !== null ) {
        var delta = new Date().getTime() - keydown;
        if ( delta >= 0 && delta < 1000 )
            console.log('finding');

        keydown = null;
    }
});

jsFiddle ,在 Chrome、Safari 和 Firefox 中进行了测试

关于javascript - 有没有办法在javascript中检测页面搜索中的查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24895246/

相关文章:

javascript - 如何在页面开始加载(未加载!)时立即执行 iframe 中的代码

javascript - 根据 sibling 的上一个类动态地将 addClass() 添加到元素中?

javascript - JWPlayer 时间搜索区域和重置变量

javascript - onchange 事件不会在 MSIE 中冒泡。我在哪里可以找到列出所有此类事件的图表

javascript - 在 JavaScript 数组上使用 find 时如何检查未定义

javascript - 绝对元素在垂直滚动经过它时变得固定

javascript - 父/子单击事件处理( Vanilla JS)

java - SWT 中的 'show' 和 'paint' 事件有什么区别?

bash - 如何在 if 语句中使用 grep?

python - 在 list2 文件中查找 list1 文件的所有匹配项,创建文件并将相关输出写入其中。 Python