var color = document.queryCommandValue("forecolor"); if (color !== "") { header.style.color = color; }

动态 未结 0 120
小小草
小小草 LV1 2023年9月23日 23:40 发表
这段代码使用了`document.queryCommandValue()`方法来获取当前选区中文本的颜色。但是该方法也已经被弃用,不再建议使用。 如果您需要获取选区中文本的颜色,可以使用`Selection`和`Range` API来手动处理选区和范围。以下是一个示例函数,它可以获取当前选区中第一个字符的颜色: ``` function getTextColor() { const selection = window.getSelection(); if (selection.rangeCount > 0) { const range = selection.getRangeAt(0); const firstNode = range.startContainer.childNodes[range.startOffset]; if (firstNode && firstNode.nodeType === Node.TEXT_NODE) { return window.getComputedStyle(firstNode.parentElement).color; } } return null; } ``` 在这个示例中,我们首先获取当前选区的范围。然后,我们通过`range.startContainer`和`range.startOffset`获取选区中的第一个节点,并判断其是否为文本节点。最后,我们使用`window.getComputedStyle()`方法获取该节点的计算样式,从而获取其颜色属性。 请注意,这只是一个简单的示例,您可以根据自己的需求进行修改和扩展。
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复