是的,这个函数只能将当前选区中的文本设置为指定颜色,无法实现连续点击更改的功能。
如果您需要实现连续点击更改文本颜色的功能,可以考虑使用`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()`方法将选区中的所有文本包裹在新创建的``元素中。
请注意,这只是一个简单的示例,您可以根据自己的需求进行修改和扩展。