html contentEditable документ.execCommand изменить выбранную непрозрачность

любой работал с изменением непрозрачности на contentEditable selected.

Я пробовал следующие:

document.execCommand('foreColor', false, 'rgba(0,0,0,0.5)'); // with rgba
document.execCommand('foreColor', false, '80000000'); // with alpha hex

никто не работал. но я могу легко изменить цвет с:

document.execCommand('foreColor', false, '000000');

кто-нибудь может помочь мне изменить непрозрачность с документом.кадр execcommand ?

обновление

при дальнейшем поиске выяснили:

документ.execCommand 'foreColor' добавить тег шрифта для выбранного с заданным цветом. Но, к сожалению, цвет атрибут не поддерживается в HTML5.

в этом проблема ? какова его альтернатива ?

1 ответов


вам придется использовать styleWithCSS команда, которая указывает, должно ли форматирование CSS или HTML генерироваться методом execCommand в документ.

см. спецификации здесь:https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#the-stylewithcss-command .

Итак, в этом случае пройдите true использовать стиль CSS вместо генерации font метка.

фрагмент:

function setColor() {
    document.execCommand('styleWithCSS', false, true);
    document.execCommand('foreColor', false, "rgba(0,0,0,0.5)");
}
<p contentEditable="true" onmouseup="setColor();">this is some text</p>

это создаст HTML с применением CSS, например:

<p contenteditable="true" onmouseup="setColor();">
    this is <span style="color: rgba(0, 0, 0, 0.498039);">some</span> text
</p>

надеюсь, это поможет.

.