您好,匿名用户
随意问技术百科期待您的加入

如何用javascript实现高亮选中的文本

0 投票

如何用javascript实现高亮选中的文本

我的提问似乎不太清晰。。就像“https://dev.vijos.org/problems/P1006”,选中描述部分的文本,会出现一个浮动的小框,可以选择颜色使得选中的文本高亮

用户头像 提问 2013年 11月11日 @ Rider 上等兵 (281 威望)
分享到:

1个回答

0 投票
 
最佳答案

<span onmouseover="this.style.background='red'">哈哈哈</span>
<span onmouseover="this.style.background='yellow'">嘎嘎嘎</span>
<span onmouseover="this.style.background='green'">哇哇哇</span>

你早说啊!

首先你要全局监听ONMOUSEUP事件,好弹出那个小泡泡,对吧,这个很简单就不说了,
剩下的就是获得选中的部分,
例如这句话“南方周末”,你选中了“方周”
浏览器里面有个方法
var a = window.getSelection();
这个方法你可以获得一个对象,你面包含了你当前所选中的对象的一些信息。
然后 a.getRangeAt(); 之后你会获得选中的信息,
var b = a.getRangeAt();
其中有两个字段,即
b.endOffset(此时等于3)
b.startOffset(此时等于1)
这两个值代表着“方周”在“南方周末”的起始和结束位置,剩下就简单了。

用户头像 回复 2013年 11月11日 @ Elise 上等兵 (273 威望)
选中 2013年 9月7日 @Rider
提一个问题:

相关问题

0 投票
1 回复 45 阅读
0 投票
1 回复 50 阅读
0 投票
1 回复 22 阅读
0 投票
1 回复 44 阅读
0 投票
1 回复 41 阅读
用户头像 提问 2012年 12月1日 @ Jayce 上等兵 (271 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...