Contenteditable сброс цвета текста после foreColor был использован без сброса других стилей
изменение цвета текста текста в contenteditable div легко-просто называется document.execCommand("foreColor",false,"#FFF")
изменить цвет текста на белый.
однако я не могу найти способ сбросить этот цвет обратно к его значению по умолчанию (или к значению родительского элемента). document.execCommand("removeFormat",false,null)
работает отлично, за исключением того, что он также удалит любые жирные или курсивные стили, что не то, что я хочу. Просто установка цвета на черный работает, кроме того, если у вас есть ссылка в выборе (которая должна оставаться неизменной цвет.)
это возможно?
2 ответов
у меня есть успех со следующим:
document.execCommand("removeFormat", false, "foreColor");
Кажется (пока), что removeFormat
можно понять, чтобы удалить только форматирование, созданное определенной командой.
вот частичный ответ, но я все еще ищу решение для Chrome:
в IE9, вы можете использовать следующее:
document.execCommand("foreColor",false,"")
в Firefox, вы можете использовать это:
document.execCommand("foreColor",false,"inherit")
но в Chrome передача нулевой / пустой строки ничего не делает, а передача "наследовать" приводит к установке цвета текста на " rgba(0, 0, 0, 0)" -- прозрачный черный. Ясно, что это ошибка. Я хотел бы увидеть более надежный кросс-браузерный способ сделать это.