html鼠标选择文字颜色,js实现鼠标选中文本改变选中区域颜色以及给选中区域加上html标签...

这篇博客展示了如何使用JavaScript监听鼠标松开事件,获取选中文本,并改变选中区域的颜色。通过分析选中范围,将选中文本前后的内容与中间选中的部分分离,再结合HTML标签进行处理,实现对选中文本的高亮和添加HTML标记。文中提供两个示例代码段,分别处理单个和多个子节点的情况。
摘要由CSDN通过智能技术生成

这个demo是看了dialog flow 的intent模块下面的Training phrases 得到的心得,实现的一个简单的选中区域实现的效果,不过这里就没写选中之后会弹出数据了。直接上demo:

第一个:

Field selection demo

#trainPhase {

border: 1px solid #ddd;

padding: 10px;

}

div test body. Please input content.

(function() {

$('#trainPhase').on('mouseup', function(event) {

var selection_text = window.getSelection().toString();

if(selection_text) {

var childNodes = $(event.currentTarget)[0].childNodes;

var range = window.getSelection().getRangeAt(0);

var startOffset = range.startOffset;

var endOffset = range.endOffset;

if (childNodes.length == 1){

var nodeText = childNodes[0].textContent.trim();

var prefix = nodeText.substring(0, startOffset);

var middle = '' + nodeText.substring(startOffset, endOffset) + "";

var suffix = nodeText.substring(endOffset, nodeText.length);

$(event.currentTarget)[0].innerHTML = prefix + middle + suffix;

}

if (childNodes.length > 1){

if(range.startContainer == range.endContainer){

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值