当用户选择网页上的一段文本时,是否有办法保持该文本突出显示,即使用户单击该页面上的其他位置?

发布于 2025-01-04 09:27:23 字数 102 浏览 2 评论 0原文

假设用户(用他/她的鼠标)选择了段落的第一行。随后,他/她选择页面下方的另一行。有没有办法保持先前选择的文本(除了新选择的文本)突出显示?我怎样才能实现这一目标?

非常感谢。

Let's say a user selects (with his/her mouse) the first line of a paragraph. Later, he/she selects another line farther down the page. Is there a way to keep the previously selected text (in addition to the newly selected text) highlighted? How could I go about achieving this?

Many thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

只涨不跌 2025-01-11 09:27:23

是的,您可以通过检查 mouseDown/mouseUp 事件和 document.selection/getSelection 的组合来完成此操作。

一般逻辑是这样的:

  1. 当鼠标按下时,将 document.selection 的当前值保存到一个数组中,如果有一个选择
  2. 当鼠标松开时,检查是否有任何选择。如果是这样,请将其添加到同一数组中
  3. 通过添加该数组中的每个范围来手动重做选择

您应该使用某些东西来处理跨浏览器实现。查看这个人的代码片段

Yes, you can do this with a combination of checking the mouseDown/mouseUp event, and document.selection/getSelection.

The general logic is this:

  1. On mouse down, save the current value of document.selection into an array, if there was a selection
  2. On mouse up, check to see if there is anything selected. If so, add it to the same array
  3. Redo the selection manually by adding every range in that array

It would behoove you to use something to handle cross-browser implementation. Check out this guy's snippet

去了角落 2025-01-11 09:27:23

我不这么认为。突出显示不是服务器端/本地主机控制的;它通常是内置于操作系统中的一项功能,允许突出显示文本,有时它也是网络浏览器中的一项功能。

抱歉,我无法为您提供更多帮助或为您提供解决方案,让您可以执行此操作。我知道的唯一其他方法是使用 IFrame,因为它们充当主页突出显示的元素/文本的对立面。

I do not believe so. The highlighting is not server-side/localhost controlled; It's a function usually built into the operating system that allows highlighting of text, or sometimes it's a function in the web browser.

Sorry I couldn't be more helpful or give you a solution that allows you to do this. Only other way I know is to use IFrames, because they act as oppositions from the primary page's highlighted elements/text.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文