javascript - 当用户在网页上选择一段文本时,是否有一种方法可以使该文本保持突出显示,即使用户单击该页面上的其他地方也是如此?

标签 javascript html css textselection

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

非常感谢。

最佳答案

是的,您可以结合检查 mouseDown/mouseUp 事件和 document.selection/getSelection 来执行此操作。

一般逻辑是这样的:

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

你应该使用一些东西来处理跨浏览器的实现。查看this guy's snippet

关于javascript - 当用户在网页上选择一段文本时,是否有一种方法可以使该文本保持突出显示,即使用户单击该页面上的其他地方也是如此?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9223023/

相关文章:

javascript - Raycaster 不适用于组合相机 - 三个 js

html - 获得 3% 的额外高度,但无法弄清楚确切的位置

javascript - 使用 jquery 禁用表单元素

javascript - 对垂直图像设置不同的样式,以便它们并排运行

javascript - CoffeeScript:如何迭代多层递归数据?

javascript - 通过拆分字段值来 reshape 文档

javascript - Blur 事件在移动设备上用 jQuery 取消 Click 事件

html - 在 Ruby on Rails 中将 HTML 转换为 content_tag

html - 两个导航栏都显示在错误的断点上

html - 更改为固定定位时,表头会轻微移动