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?

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top