Javascript 检测页面查找/搜索以展开可折叠的

Javascript 检测页面查找/搜索以展开可折叠的,javascript,dom-events,Javascript,Dom Events,我的团队正在使用一个可扩展的框来压缩我们维基上的信息(合流),使用display:none/block是相当标准的。我希望这与浏览器的查找功能配合使用。我发现,当我切换到使用max height隐藏内容时,浏览器至少可以正确地找到文本,但我希望在找到匹配项时展开可折叠文件,并在find不再查看时重新折叠。有办法吗 我已经尝试了focus和selectionchange事件,但没有成功。我想我可以跟踪滚动跳转或按键,但这两种方法都不能真正告诉我是否在可折叠文件中找到了查询 tl;dr是否有一种检测

我的团队正在使用一个可扩展的框来压缩我们维基上的信息(合流),使用
display:none/block
是相当标准的。我希望这与浏览器的查找功能配合使用。我发现,当我切换到使用
max height
隐藏内容时,浏览器至少可以正确地找到文本,但我希望在找到匹配项时展开可折叠文件,并在find不再查看时重新折叠。有办法吗

我已经尝试了
focus
selectionchange
事件,但没有成功。我想我可以跟踪滚动跳转或按键,但这两种方法都不能真正告诉我是否在可折叠文件中找到了查询

tl;dr是否有一种检测浏览器查找的方法

更新:下面是代码的大致情况:

var expand = document.querySelector('.expand');
expand.querySelector('.head').addEventListener('click', function(e) {
 //toggle a class .show on .expand
})
还有我的CSS:

.expand .body {
    opacity: 0;
    max-height: 0;
    padding: 0 20px 0 40px;
    transition: all .4s;
}
.expand.show .body {
    max-height: 3000px;
    opacity: 1;
    padding: 10px 20px 20px 40px;
}

实际上,您可以检测组合键,如Ctrl+F,如下所示

var-map={17:false,70:false};
$(文档).keydown(函数(e){
如果(如地图中的键码){
map[e.keyCode]=true;
如果(映射[17]&映射[70]){
//火灾事件你的事件
}
}
}).keyup(功能(e){
如果(如地图中的键码){
map[e.keyCode]=false;
}

});实际上,您可以检测组合键,如Ctrl+F,如下所示

var-map={17:false,70:false};
$(文档).keydown(函数(e){
如果(如地图中的键码){
map[e.keyCode]=true;
如果(映射[17]&映射[70]){
//火灾事件你的事件
}
}
}).keyup(功能(e){
如果(如地图中的键码){
map[e.keyCode]=false;
}

});请添加一些代码。如果我们能看到可能的重复代码,请添加一些代码,那么您试图做的可能更有意义。如果我们可以看到Yes的可能副本,那么您尝试执行的操作可能更有意义,但这不会告诉我是否在我的可折叠文件中找到了某些内容如果用户从“编辑”菜单中选择“查找”而不是按Ctrl+F键,也不会有帮助。是的,在这种情况下肯定没有帮助,请记住,在处理web应用程序时,我们无法控制这些事情。@Airhogs777您可以使用自定义逻辑来查找或告知您可以在我编写的地方实现的内容//FIRE EVENT you EVENT。是,但这并不能告诉我是否在我的可折叠文件中找到了什么。如果用户从“编辑”菜单中选择“查找”,而不是按Ctrl+F键,也不会有帮助。是的,在这种情况下肯定没有帮助,请记住,在处理web应用程序时,我们无法控制这些事情。@Airhogs777您可以使用自定义逻辑来查找某些内容或告诉某些内容,您可以在我编写的地方实现//FIRE EVENT you EVENT。