假设用户选择(用他/她的鼠标)段落的第一行。稍后,他/她选择页面下方的另一行。有没有办法让以前选择的文本(除了新选择的文本)突出显示?我怎样才能实现这一目标?
非常感谢。
最佳答案
是的,您可以结合检查 mouseDown/mouseUp 事件和 document.selection/getSelection 来执行此操作。
一般逻辑是这样的:
- 鼠标按下时,如果有选择,将 document.selection 的当前值保存到一个数组中
- 鼠标悬停时,检查是否有任何选择。如果是,将其添加到同一个数组中
- 通过添加该数组中的每个范围手动重新选择
你应该使用一些东西来处理跨浏览器的实现。查看this guy's snippet
关于javascript - 当用户在网页上选择一段文本时,是否有一种方法可以使该文本保持突出显示,即使用户单击该页面上的其他地方也是如此?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9223023/