js 给选中的文字添加颜色、替换文字内容...,选中状态去除后更改还在(document.execCommand)

操作说明

使用document.execCommand

先选中文字后点击按钮更改选中文字状态

html 复制代码
<!--点击的按钮不能为div,目前确认button可用-->
<button @click="f">操作</button>

常用代码片段

替换选中文字的内容

js 复制代码
function f() {
  const selectDom = document.getSelection().focusNode.parentElement // 获取包裹文字的元素dom
  selectDom.contentEditable = String(true) // 开启元素可编辑状态,document.execCommand需要
  document.execCommand('insertText', false, '***') // document.execCommand只能操纵可编辑内容区域的元素
  selectDom.contentEditable = String(false) // 重置编辑状态
}

更改选中文字的颜色,失去选中状态还保留颜色值

js 复制代码
function f() {
  const selectDom = document.getSelection().focusNode.parentElement
  selectDom.contentEditable = String(true)
  document.execCommand('foreColor', false, 'yellow')
  selectDom.contentEditable = String(false)
}
相关推荐
Hilaku几秒前
当 Gemini 3 能写出完美 CSS 时,前端工程师剩下的核心竞争力是什么?
前端·javascript·ai编程
csbysj20207 分钟前
SVG 椭圆详解
开发语言
oioihoii22 分钟前
C++数据竞争与无锁编程
java·开发语言·c++
DigitalOcean22 分钟前
加速 JavaScript 开发:DigitalOcean 应用托管现已原生支持 Bun
javascript
资生算法程序员_畅想家_剑魔22 分钟前
Java常见技术分享-16-多线程安全-并发编程的核心问题
java·开发语言
We....23 分钟前
Java SPI 机制
java·开发语言
Macbethad27 分钟前
区块链技术在分布式系统中的应用实践技术报告
开发语言·c#
零雲41 分钟前
Java面试:@Component和@Bean的区别是什么
java·开发语言·面试
Jerry404_NotFound1 小时前
工厂方法模式
java·开发语言·jvm·工厂方法模式
微风欲寻竹影1 小时前
深入理解Java中的String
java·开发语言