vue鼠标选取文字高亮与点击取消高亮(标注功能)

这篇博客详细介绍了在Vue项目中如何实现在标签上添加@mouseup事件以实现文字选取高亮,并提供了点击取消高亮的方法,包括鼠标悬停时的样式处理和功能实现。通过文中提供的步骤和示例,读者可以掌握这一实用功能的实现技巧。

在标签上添加@mouseup事件

<div v-html="text" @mouseup="handleMouseSelect"></div>

选取文字高亮方法

handleMouseSelect () {
    // window.getSelection().toString()获取鼠标选定的文字
      var text = window.getSelection().toString()
    // 避免未选择文字时对字符串进行替换
      if (text !== '') {
    // 颜色、背景可以自行更改
        const replaceString = `<span class="tagX" style="color: ${this.colors[keywordIndex].color}; background: ${this.colors[keywordIndex].background}">${text}</span>`
        var temp = []
        var reg = new RegExp(text, 'g')
        temp = (this.text.replace(reg, replaceString))
        this.text = temp
    }

效果图:

点击取消高亮——鼠标悬停样式

.tagX:hover {
    color: #000 !important;
    cursor: poin
评论 12
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值