更改contenteditable div中文本的文字颜色很简单 - 只需简单地调用document.execCommand("foreColor",false,"#FFF")
即可将文字颜色更改为白色。
但是,我找不到将此颜色重置为其默认值(或父元素的值)的方法。 document.execCommand("removeFormat",false,null)
完美无缺,除了它还会删除任何粗体或斜体样式,这不是我想要的。简单地将颜色设置为黑色就可以了,除非您在选择中有一个链接(应该保持相同的颜色)。
这可能吗?
答案 0 :(得分:14)
我在以下方面取得了成功:
document.execCommand("removeFormat", false, "foreColor");
似乎(到目前为止)可以理解removeFormat
只能删除特定命令创建的格式。
答案 1 :(得分:6)
这是一个部分答案,但我仍在寻找Chrome的解决方案:
在IE9中,您可以使用以下内容:
document.execCommand("foreColor",false,"")
在Firefox中,您可以使用:
document.execCommand("foreColor",false,"inherit")
但是在Chrome中,传递null / empty字符串什么都不做,而传递'inherit'会导致文本颜色设置为“rgba(0,0,0,0)” - 透明黑色。显然这是一个错误。我希望看到一种更可靠的跨浏览器方式来实现这一目标。