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)
}
相关推荐
pusheng2025几秒前
普晟传感2026年新春年会总结与分析
前端·javascript·html
谢尔登2 分钟前
React19事件调度的设计思路
前端·javascript·react.js
不懒不懒5 分钟前
【HTML容器与表格布局实战指南】
java·开发语言
J_liaty6 分钟前
Java实现PDF添加水印的完整方案(支持灵活配置、平铺、多页策略)
java·开发语言·pdf
PPPPPaPeR.9 分钟前
从零实现一个简易 Shell:理解 Linux 进程与命令执行
linux·开发语言·c++
Yorlen_Zhang11 分钟前
python Tkinter Frame 深度解析与实战指南
开发语言·python
lly20240613 分钟前
Eclipse 关闭项目详解
开发语言
LXS_35718 分钟前
C++常用容器(下)---stack、queue、list、set、map
开发语言·c++·学习方法·改行学it
愚者游世21 分钟前
list Initialization各版本异同
开发语言·c++·学习·程序人生·算法
2301_7965125221 分钟前
【精通篇】打造React Native鸿蒙跨平台开发高级复合组件库开发系列:Lazyload 懒加载(懒加载的图片)
前端·javascript·react native·react.js·ecmascript·harmonyos