gpt4 book ai didi

javascript - 选择文本时如何停止浏览器滚动?潜在的浏览器错误?

转载 作者:技术小花猫 更新时间:2023-10-29 12:43:50 26 4
gpt4 key购买 nike

我正在开发的应用程序遇到了一个奇怪的问题...每当用户突出显示已向下翻译页面的 div 上的文本时,浏览器将立即开始向上滚动。这真的很难描述,所以我制作了一个示例页面来展示这个问题......

http://riskable.com/files/scroll_problem.html

我还将文本上传到 pastebin 以便于查看(如果我以后取下该 URL):

http://pastebin.com/ay6LUcfP

如果您——通过 JavaScript——translate() div1 和 div2 回到它们的默认位置,问题不会在 div1 中表现出来。它只出现在 div2 内部,并且只有当它出现在用户面前时(例如,它已被“translate()”转换)。

老实说,我认为这可能是浏览器错误,但我不确定,因为我不是 ECMAScript 或 DOM 专家。有什么想法吗?

编辑:我已经更新了 HTML 以在 Firefox 4+ 和 Opera 11+ 中工作(分别为 -moz-transform 和 -o-transform)。我还为更新后的脚本创建了一个新的 pastebin 链接(该链接已更新)。该问题似乎并未在这两种浏览器中出现,因此它似乎肯定是 Chrome 错误。

编辑 2: 我已经在 Chromium 站点上针对此问题打开了错误报告:http://code.google.com/p/chromium/issues/detail?id=74318

这可能是 Webkit 中的错误,但我会让 Chromium 人员查明是否是这种情况。

最佳答案

FWIW,我的问题似乎是浏览器的代码负责检测您何时选择越过 pre 的边界(即,当它应该滚动以进行该选择时)在翻译后没有获得更新的位置。当您开始选择时,它会看到您正在选择,并且您的光标距离它认为 pre 所在的位置向上半个屏幕,因此它会非常快速地向上滚动。相反,要使其向下滚动,您需要在选择时转到容器底部,pre 的底部在 translate() 之前。

也就是说,我显然不知道如何解决它,但我几乎可以肯定这是一个浏览器错误。

关于javascript - 选择文本时如何停止浏览器滚动?潜在的浏览器错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5124875/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com