1

我知道如何execCommand在一些选定的文本上执行,但是有没有办法在我的contenteditablediv 中的一些其他文本上执行?

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 回答