textarea中文本高亮选中

摘要:
最近,原始/翻译的句子段被突出显示并进行对比,类似于有道翻译,如下图所示:原始解决方案是使用富文本编辑器将所有句子段信息用HTML标记包装起来。操作空间相对较大,几乎可以实现页面上所需的所有功能,但这带来了许多缺点,例如:1。复制文本具有原始格式。2.复制大量文本有性能问题(富文本编辑器的常见问题。复制数十万文本可能会导致页面崩溃)。3.很难拦截文本目前,行业领先者

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

textarea中文本高亮选中第1张

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

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

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

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

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

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

  textarea中文本高亮选中第2张

       实现代码如下:

    

<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>

效果如下:

  textarea中文本高亮选中第3张

免责声明:文章转载自《textarea中文本高亮选中》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇.NET5发布JMH 使用指南下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

vscode中的vue文件不高亮,但是已经安装了vetur插件了,到底为什么???

我感觉这是我自己的一个低级错误,可是想了想还是准备把它写下来,因为怕跟我一样的菜鸟小白也遇到类似的情况,什么都对就是结果不对,妥妥的会被逼疯。。。 美好的一天从打开VS code开始~ 一打开,觉得哪里不对,愣了一秒,哎哟我去~vue文件怎么不高亮了(见下图这样),翻了翻其他的js、css等文件,发现是正常的,于是乎,我就开始跟这个“意外”死磕了。 于是我...

Mac OS终端中设置颜色高亮和自动补全

已测试通过,原文:http://blog.csdn.net/songjinshi/article/details/8945809 一、颜色高亮显示 针对terminal采用bash模式: 编辑 ~/.bash_profile, 加入以下代码: export CLICOLOR=1export LSCOLORS=gxfxaxdxcxegedabagacad 保...

openGL加载obj文件+绘制大脑表层+高亮染色

绘制大脑表层并高亮染色的工作是以openGL加载obj文件为基础的,这里是我们用到的原始程序:只能加载一个obj文件的demo。 然而,一个完整的大脑表层是由很多分区组成的,因此我们的程序需要支持两个功能: 同时加载多个obj文件。 每个大脑分区obj文件保持其相对位置。 明白了需求后,我们就可以开始修改代码了~ glmUnitize函数的作用是单位化...

highlight.js 代码高亮插件

官网:https://highlightjs.org/ API:http://highlightjs.readthedocs.org/en/latest/api.html 1. 简单使用: <link rel="stylesheet" href="http://t.zoukankan.com/path/to/styles/default.css"&g...

textArea打印时,内容不显示

使用jqprint来打印form表单中的内容时。会出现input、textarea标签里的东西无法打印。 jquery打印原理:jqprint打印方式是把打印区域的html内容处理到新的iframe中,然后打印。 这样的一个机制下,input、textarea当中的内容如果是通过jquery赋值、手动输入,那么在打印的时候是不会有内容的。 解决办法: 在...

solr6.6初探之查询篇

关于搜索与查询,首先我们来看一张图: 这张图说明了solr查询原理: 1.当通过solr发起查询的时候,引擎会选择一个RequestHandler(从字面意思上来说就是请求处理器)来进行查询处理 2.查询的请求处理器会选择一个查询解析器来解析查询参数(语法 3.solr会根据查询列在索引中搜索存储字段,默认是全部 4.根据偏移量及数据量(start,ro...