侦听浏览器 Ctrl+F/查找布局修改
Listening to browser Ctrl+F/find layout modifications
在当前的最小示例(http://jsfiddle.net/twPHW/)中:
<div style="overflow: hidden; height: 24px;">
<table>
<thead>
<tr>
<td style="background-color: rgb(109,173,157);">foo</td>
</tr>
</thead>
<tbody>
<tr>
<td style="background-color: rgb(236,222,117);">bar</td>
</tr>
</tbody></table>
</div>
"foo"单元格是唯一可见的单元格。然后,如果我执行 Ctrl-F(在浏览器中查找功能),并开始键入"bar",div 内的表格将上升(就像它的顶部是否发生变化)向用户显示匹配的元素。
我希望能够通过查找功能查找"bar",但我想通过 javascript 处理布局修改。
我知道不可能监听浏览器"查找"。我只想听听这个布局修改,以防止它或相应地同步我的其余视图。我尝试收听滚动事件或使用Chrome突变观察器,但它不起作用。知道吗?
- 关于布局修改的类似 Stackoverflow 票证:Chrome 和 IE 中的 Ctrl F/查找功能修改布局
- 关于布局修改的 Chromium 开发频道跟踪器上的票证:铬问题 318191
我认为不可能听到这些布局修改。
当浏览器找到元素时,相当于为匹配的元素调用scrollIntoView
。因此,仅当容器div 可滚动时,才会触发滚动事件。
在示例中,父样式为 overflow: hidden;
。因此,它不会触发任何滚动事件。
然后就不可能侦听这些布局更改,因为侦听 overflow:hiden 元素上的滚动事件的唯一解决方法是侦听鼠标滚轮事件......
不好的故事是,不可能阻止用户通过浏览器查找修改布局,因为即使可以阻止 Ctrl+F 或 F3,我们也无法阻止用户使用 Firefox 或 IE 中的Edit-> Find
菜单
我还没有测试过这个,但一个选项是在ctrl + f按键上preventDefault()
,然后制作自己的查找功能版本。
相关文章:
- 访问布局信息是否也会导致浏览器重排
- 使用agility.js进行页面布局和合成
- 正在全局范围中查找JavaScript函数
- Javascript(Angular)从一个对象数组到第二个数组查找值
- 同位素库错误:未捕获错误无布局模式包装生产线8
- 如何实现此布局
- 在不使用jquery的情况下查找页面中的所有锚点并附加函数
- 有没有一个javascript图形绘制库可以进行气球树布局
- es6 相当于下划线查找位置
- 在DOM中查找一个模式并替换它's的内容使用jquery
- 如何使用jquery迭代具有相同属性的html元素并查找onclick事件
- 如何在不传递此信息的情况下查找被调用的元素
- Lodash 从值数组中查找数组中的值
- 如何使用JavaScript查找1和N之间的所有数字的总和
- 使用RegExp查找url中的字符
- 查找元素高度,包括边距
- 使用JS查找数组的平均值
- 查找最短和最长日期
- 侦听浏览器 Ctrl+F/查找布局修改
- 如何在此表格布局中查找文本框值