b22*_*488 7 html css google-chrome
如果元素是overflow:hidden,我们使用浏览器的文本搜索功能来查找该元素中的文本,但它不可见,Chrome将移动该元素,以便搜索结果对用户可见.
您可以在此处看到这种情况:http://codepen.io/anon/pen/qdayVz 打开Chrome中的链接并搜索不可见的文本,例如"CCC",您将看到Chrome将移动显示已找到文本的元素.
以下是一个真实的示例:http://www.jssor.com/demos/full-width-slider.html - 搜索不在可见幻灯片中的文本.
这在Firefox中不会发生.
我能够使用 JavaScript 来阻止这种行为。
当 Chrome 移动#wide-childdiv 以显示搜索文本时,它实际上所做的是滚动内容以#parent将搜索文本滚动到视图中。这会scroll按预期触发一个事件,可以侦听该事件。当滚动事件触发时,可以将元素的滚动值重置为应有的值(可能0)。
例子:
document.getElementById('parent').addEventListener('scroll', function(e){
document.getElementById('parent').scrollLeft=0;
console.log('Prevented scrolling');
});Run Code Online (Sandbox Code Playgroud)
#parent {
width: 30px;
overflow: hidden;
}
#wide-child {
width: 500px;
}Run Code Online (Sandbox Code Playgroud)
<div id="parent">
<div id="wide-child">
AAAAAAA
BBBBBBB
CCCCCCC
DDDDDDD
EEEEEEE
</div>
</div>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
548 次 |
| 最近记录: |