2014-12-12 10 views
5

dowolna z nich pracowała ze zmienionym kryciem na contentEditable selected.Treść htmlEditable document.execCommand zmień wybrane krycie

Próbowałem z następujących powodów:

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

żaden pracował. ale mogę łatwo zmienić kolor za pomocą:

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

Czy ktoś może mi pomóc w zmianie krycia za pomocą document.execCommand?

Aktualizacja

Na dalszych poszukiwań dowiedziałem:

document.execCommand ForeColor '' dodać tag czcionki wybrany z danego koloru. Niestety, atrybut koloru nie jest obsługiwany w HTML5.

Czy to jest problem? jaka jest jego alternatywa?

Odpowiedz

7

Będziesz musiał użyć polecenia styleWithCSS, które określa, czy CSS lub formatowanie HTML powinny być generowane przez metodę execCommand do dokumentu.

Skorzystaj ze specyfikacji tutaj: https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#the-stylewithcss-command.

W takim przypadku należy przekazać true, aby użyć stylu CSS zamiast generować znacznik font.

Snippet:

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>

To będzie generować HTML z CSS stosowane, na przykład:

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

nadzieję, że pomoże.

.

+0

dzięki. to pomogło :-) – abduIntegral

+0

Awesome, wielkie dzięki ... –

Powiązane problemy