博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在div文本区域,光标位置处插入
阅读量:5742 次
发布时间:2019-06-18

本文共 834 字,大约阅读时间需要 2 分钟。

hot3.png

  • 需求背景:利用div的contentEditable="true",可编辑区域,插入一些标签包含文本,非纯文本格式, vue 项目中我是使用v-html渲染,v-model无法达到我们的需求
    
可编辑的DIV(兼容IE8)
demo效果

js api

  • document.activeElement 该属性属于HTML5中的一部分,它返回当前获得焦点的元素,如果不存在则返回“body”。
  • selection对象 selection是对当前激活选中区(即高亮文本)进行操作。 在非IE浏览器(Firefox、Safari、Chrome、Opera)下可以使用window.getSelection()获得selection对象,本文讲述的是标准的selection操作方法。文中绝大部分内容来自
方法
  • getRangeAt(index) 从当前selection对象中获得一个range对象。
  • addRange(range) 将range添加到selection当中,所以一个selection中可以有多个range。 注意Chrome不允许同时存在多个range,它的处理方式和Firefox有些不同。
  • removeRange(range) 从当前selection移除range对象,返回值undefined。 Chrome目前没有改函数,即便是在Firefox中如果用自己创建(document.createRange())的range作为参数也会报错。 如果用oSelction.getRangeAt()取到的,则不会报错。
  • removeAllRanges() 移除selection中所有的range对象,执行后anchorNode、focusNode被设置为null,不存在任何被选中的内容。

转载于:https://my.oschina.net/shuaihong/blog/1935776

你可能感兴趣的文章
Mock.js使用
查看>>
进程的Binder线程池工作过程
查看>>
Unity项目使用静态图片做背景
查看>>
innerHTML、innerText、outerHTML、outerText区别。
查看>>
GitHub 重磅更新:无限私有仓库免费使用
查看>>
C#未来新特性:静态委托和函数指针
查看>>
机器学习研究的七个迷思
查看>>
Java 12正式发布,新特性解读!
查看>>
FB正在大规模重构React Native,预计今年发布
查看>>
Scala中的函数式特性
查看>>
使用HTML5在浏览器中开发虚拟现实业务
查看>>
在首次发布三周之后,MLflow迎来了0.2版本
查看>>
铁线蕨算法(Adiantum)为低端智能手机提供磁盘加密服务
查看>>
360开源又一力作——KafkaBridge:让操作kafka更简单!
查看>>
你真的懂用户画像吗?
查看>>
微软正在考虑将Windows默认浏览器改为Chromium
查看>>
Swift和R3联手了,跨境支付市场竞争升级
查看>>
Apache Beam实战指南 | 玩转KafkaIO与Flink
查看>>
为所有PHP-FPM容器构建单独的NGinx Dock镜像
查看>>
搞容器,必须考虑这五大安全要素
查看>>