function changeColor(color) { // 获取选定文本 var selection = window.getSelection(); if (selection.rangeCount) {

动态 未结 0 65
小小草
小小草 LV1 2023年9月23日 23:40 发表
是的,这个函数只能将当前选区中的文本设置为指定颜色,无法实现连续点击更改的功能。 如果您需要实现连续点击更改文本颜色的功能,可以考虑使用`Range`和`Selection` API来手动处理选区和范围。以下是一个示例函数,它可以将当前选区中的所有文本设置为指定颜色: ``` function changeColor(color) { const selection = window.getSelection(); if (selection.rangeCount > 0) { const range = selection.getRangeAt(0); const newSpan = document.createElement('span'); newSpan.style.color = color; range.surroundContents(newSpan); } } ``` 在这个示例中,我们首先获取当前选区的范围。然后,我们创建一个新的``元素,并设置其颜色为指定值。最后,我们使用`range.surroundContents()`方法将选区中的所有文本包裹在新创建的``元素中。 请注意,这只是一个简单的示例,您可以根据自己的需求进行修改和扩展。
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复