textarea文本高亮选中

news2024/11/17 19:31:45

最近在实现原文/译文句段高亮对比显示,和有道翻译类似,如下图所示:

image

最初的解决方案是采用富文本编辑器,把所有句段信息都用HTML标签包裹,操作空间比较大,页面上需要的功能几乎都可以实现,但是由此带来了许多的弊端,比如:

1.复制文本存在原始格式

**   2.复制大量文本存在性能问题(富文本编辑器的通病,复制几十万文字的文本可能导致页面崩溃)**

**   3.截取文本操作难度较大…**

目前看业界主流的翻译软件,都是采用textarea + 富文本组合,这种解决方案可以极大的避免复制文本格式与页面性能问题,虽然页面操作空间没有富文本编辑器大,但是大多数场景是可以满足要求的。

废话少说,textarea文本的高亮主要借助于selectionStart/selectionEnd两个属性,配合文本的focus即可实现文本的选中效果,MDN有详细的解释,如下:

image

实现代码如下:


<pre style="margin: 0px; padding: 0px; transition-duration: 0.2s; transition-property: background-color, border-color, border-radius, padding, margin, color, opacity; overflow: auto; font-family: &quot;Courier New&quot;, serif; font-size: 12px; overflow-wrap: break-word;"><template>
  <section>
    <textarea ref="textarea" name="test" id="" cols="30" rows="10" v-model="txt"></textarea>
  </section>
</template>

<script> export default {
  name: 'i-select',
  data () { return {
      txt: '这是一段测试文本',
    }
  },
  mounted () {
    let node = this.$refs.textarea
    node.selectionStart = 0 node.selectionEnd = 5 node.focus()
  }
} </script></pre>

效果如下:

image

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/804146.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

串口通讯接口类型:TTL、RS232和RS485(电平标准)

串口通讯接口类型&#xff1a;TTL、RS232和RS485 在串口通信中&#xff0c;常用的接口类型包括TTL、RS-232和RS-485&#xff0c;TTL、RS-232、RS422、RS-485是指的电平标准(电信号)。 通信协议规定了数据传输的规则和格式&#xff0c;包括数据的起始位、停止位、数据位数、校…

docker 搭建jenkins

1、拉取镜像 docker pull jenkins/jenkins:2.4162、创建文件夹 mkdir -p /home/jenkins_mount chmod 777 /home/jenkins_mount3、运行并构建容器 docker run --restartalways -d -p 10240:8080 -p 10241:50000 -v /home/jenkins_mount:/var/jenkins_home -v /etc/localtime:…

从零开始构建基于YOLOv5的目标检测系统

本博文从零开始搭建基于YOLOv5模型的目标检测系统&#xff08;具体系统参考本博主的其他博客&#xff09;&#xff0c;手把手保姆级完成环境的搭建。 &#xff08;1&#xff09;首先Windows R输入cmd命令后打开命令窗口&#xff0c;进入项目目录&#xff0c;本博文以野生动物…

无涯教程-jQuery - jQuery.ajaxSetup( options )方法函数

jQuery.ajaxSetup(options)方法为将来的AJAX请求设置全局设置。 jQuery.ajaxSetup( options ) - 语法 $.ajaxSetup( options ) 这是此方法使用的所有参数的描述- options - 一组配置Ajax请求的键/值对&#xff0c;所有选项都是可选的。 Sr.No.Option & Remark1 asy…

Stack

文章目录 定义分类静态栈动态栈 算法应用 定义 在静态内存当中分配的叫做栈&#xff0c;在动态内存中分配的叫做堆。 **红色椭圆圈当中的就是在栈中分配的&#xff0c;蓝色下划线的就是在堆里分配的。**栈和堆表示的是分配数据的一种方式。静态局部变量是通过压栈和出栈来分配…

网络安全行业相关证书

一&#xff1a;前言 对于考证这个话题&#xff0c;笔者的意见是&#xff1a;“有比没有好&#xff0c;有一定更好&#xff0c;但不一定必须&#xff1b;纸上证明终觉浅&#xff0c;安全还得实力行”。很多人对于各种机构的考证宣传搞得是云里雾里&#xff0c;不知道网络安全行业…

【Java练习题汇总】《第一行代码JAVA》网络编程篇集合体系篇,汇总Java练习题——Socket 与ServerSocket、List和Set、Map~

Java练习题 网络编程篇&集合体系篇 1️⃣ 网络编程篇&集合体系篇 1️⃣ 网络编程篇&集合体系篇 一、填空题 在类集中存放单值的最大父接口是___________ &#xff0c;存放一对值的最大父接口是___________ 。___________ 接口保存的数据是不允许重复的&#xff…

c语言复合赋值符和运算符的优先级问题

结论&#xff1a; 复合赋值符的优先级小于运算符 【练习1】 a * a / b的运算顺序是什么&#xff1f; a / b * a 【练习2】 x / 3 2 * 3 2 / 3 6 2 x 0

使用os库操作目录和文件

1. 获取本机操作系统的分隔符 # 导入os库 import os # 获取本机操作系统的分隔符 print(os.sep) 2. 获取本机操作系统的类型 如果是windows&#xff0c;是nt。 # 导入os库 import os # 获取本机操作系统的类型 print(os.name) 3. 获取当前的工作目录路径 # 导入os库 import…

RL vs 最优控制:用于轨迹跟踪的 LQR(使用 Python 代码)

一、说明 在本博客系列中&#xff0c;我们将了解最优控制的经典方法&#xff0c;这些方法在某种程度上为强化学习等更熟悉的主题奠定了坚实的基础。这两个领域之间存在着不可避免的共同边界&#xff0c;本系列旨在提出这些最优控制的形式化方法&#xff0c;作为强化学习方法的有…

[内网渗透]SUID提权

文章目录 [内网渗透]SUID提权0x01.什么是SUID&#xff1f;0x02.如何设置SUID&#xff1f;0x03.查找属主为root的SUID文件0x04.进行SUID提权1.find提权2.vim/vi/vim.tiny 以root权限修改文件3.bash提权4.less/more执行系统命令5.nano以root权限修改文件6.awk执行系统命令7.cp以r…

CHD6.2.1集群 Hive开启Iceberg

下载jar包 https://repo1.maven.org/maven2/org/apache/iceberg/iceberg-hive-runtime/1.0.0/iceberg-hive-runtime-1.0.0.jar 存放在/opt/cloudera/parcels/CDH/lib/hive/auxlib/ CDH集群修改hive配置 选择xml格式 粘贴即可 <property><name>iceberg.engine.hi…

QT: 完成服务器的实现

1> 思维导图 2> 手动完成服务器的实现&#xff0c;并具体程序要注释清楚 Widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTcpServer> //服务器类 #include <QTcpSocket> //客户端类 #include <QMessageBox> //…

小狐狸ChatGPT付费创作系统V2.1.4独立版 +WEB端+ H5端 + 小程序端(新增关注自动回复)系统搭建安装教程

PCu央小狐狸ChatGPT付费创作系统V2.1.4提供最新的对应版本小程序端&#xff0c;播播资源测试相比上几版本增加了关注公众号自动回复、扫码登陆自动回复功能&#xff0c;优化了部分细节。本版小程序端对应最新的2.1.4小程序前端。绘画功能建议采用其他绘画接口-意间AI&#xff0…

Python入门【变量的作用域(全局变量和局部变量)、参数的传递、浅拷贝和深拷贝、参数的几种类型 】(十一)

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱敲代码的小王&#xff0c;CSDN博客博主,Python小白 &#x1f4d5;系列专栏&#xff1a;python入门到实战、Python爬虫开发、Python办公自动化、Python数据分析、Python前后端开发 &#x1f4e7;如果文章知识点有错误…

nbcio-boot项目把springboot从2.3.5.RELEASE升级到2.7.10和mybatis-plus升级到最新的3.5.3.1的问题解决记录

考虑到原先版本比较老&#xff0c;今天把springboot从2.3.5.RELEASE升级到2.6.6和mybatis-plus升级到最新的3.5.3.1。 编译出现下面的问题 用参数 -e -X clean package后打印出更多的出错日志信息 at org.apache.maven.shared.filtering.DefaultMavenResourcesFiltering.filter…

大数据未来的前景怎么样?_光点科技

随着科技的迅猛发展和互联网的普及&#xff0c;大数据已成为当今社会中不可或缺的重要资源。大数据是指庞大而复杂的数据集合&#xff0c;这些数据通过高级计算技术进行处理和分析&#xff0c;可以揭示出有价值的信息和趋势。在过去几年中&#xff0c;大数据已经在各行各业产生…

迁移学习、微调、计算机视觉理论(第十一次组会ppt)

@TOC 数据增广 迁移学习 微调 目标检测和边界框 区域卷积神经网络R—CNN

pyspark笔记:读取 处理csv文件 (pyspark DataFrame)

pyspark cmd上的命令 1 读取文件 1.1 基本读取方式 注意读取出来的格式是Pyspark DataFrame&#xff0c;不是DataFrame&#xff0c;所以一些操作上是有区别的 1.1.1 format DataFrame spark.read.format("csv").option(name,value).load(path) format表示读取…

基于飞桨paddle的卷积神经网络构建手写数字识别模型测试代码

基于飞桨paddle的优化的卷积神经网络构建手写数字识别模型测试代码 原始测试图片为255X252的图片 采用的是多层卷积神经网络实现模型 本次预测的数字是: 0 预测结果正确 测试结果&#xff1a; PS E:\project\python> & D:/Python39/python.exe e:/project/python/MNIST…