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)
}
相关推荐
程序猿_极客16 小时前
【2025最新】 Java入门到实战:包装类、字符串转换、equals/toString + 可变字符串,一篇搞定开发高频场景(含案例解析)
java·开发语言·java进阶·面试核心·java快速入门
U***e6316 小时前
Python测试
开发语言·python
yi碗汤园16 小时前
Visual Studio常用的快捷键
开发语言·ide·c#·编辑器·visual studio
aiguangyuan16 小时前
React 18 源码解读(一)
javascript·react·前端开发
Elias不吃糖17 小时前
NebulaChat:C++ 高并发聊天室服务端
开发语言·c++·redis·sql·项目文档
haofafa17 小时前
JavaScript性能优化实战
开发语言·javascript·性能优化
帅中的小灰灰17 小时前
C++编程策略设计模式
开发语言·c++·设计模式
我叫张小白。17 小时前
TypeScript对象类型与接口:构建复杂数据结构
前端·javascript·typescript
O***p60417 小时前
JavaScript增强现实开发
开发语言·javascript·ar
墨客希17 小时前
如何快速掌握大型Vue项目
前端·javascript·vue.js