Wenden Sie den Stil mit execCommand auf beliebigen Text an
-
27-10-2019 - |
Frage
Ich weiß, wie man execCommand
für einen ausgewählten Text ausführt, aber gibt es eine Möglichkeit, einen anderen Text in meinem contenteditable
div auszuführen?
Lösung
Im IE ja.In anderen Browsern Nr.
Alle gängigen Desktop-Browser implementieren eine Form von document.execCommand()
, der nur auf die Benutzerauswahl wirkt.Im IE verfügt das TextRange
-Objekt auch über eine execCommand
-Methode.Im Folgenden wird beispielsweise der Textinhalt eines Elements grün, wenn der Benutzer den Mauszeiger darüber bewegt:
<div id="test">Here is a test div</div>
<script type="text/javascript">
var div = document.getElementById("test");
div.onmouseover = function() {
if (document.body.createTextRange) {
var textRange = document.body.createTextRange();
textRange.moveToElementText(div);
textRange.execCommand("foreColor", false, "green");
}
};
</script>
Andere Tipps
Falls Sie sich nicht bewusst sind, ist der .execCommand
eine nicht standardmäßige Javascript-Funktion des IE, die vermieden werden sollte.
Wenn Sie uns mitteilen, wofür Sie es verwenden möchten, können wir eine standardkonforme Alternative vorschlagen.