1

選択したテキストで実行する方法は知っていますが、 divexecCommand内の他のテキストで実行する方法はありますか?contenteditable

4

2 に答える 2

1

IE では、はい。他のブラウザでは、いいえ。

すべての主要なデスクトップ ブラウザはdocument.execCommand()、ユーザーの選択にのみ作用する何らかの形式の を実装しています。IE では、TextRangeオブジェクトにもexecCommandメソッドがあります。たとえば、次の例では、ユーザーがカーソルを要素の上に置くと、要素のテキスト コンテンツが緑色に変わります。

<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>
于 2011-01-31T01:24:15.247 に答える
0

ご存じないかもしれませんが、これ.execCommandは避けるべき IE のみの非標準の JavaScript 関数です。

何に使いたいか教えていただければ、標準に準拠した代替案を提案できます。

于 2011-01-31T01:19:10.050 に答える