【发布时间】:2012-02-10 12:28:16
【问题描述】:
假设我有一个内容可编辑的pre 标签和一个按钮,如下所示:
<pre id="input" contenteditable>
hello world!
how is everything today?
I like cherries
</pre>
<button id="colorify">Colorify!</button>
按下colorify 按钮时,我希望文本按字符在三种不同颜色之间交替显示。它应该看起来像这样:
这是我的意图,用伪Javascript表达:
$("#colorify").click(function() {
var input = $("#input"), text = input.text(),
colors = ["#FF0000", "#00FF00", "#0000FF"];
for (var i = 0; i < text.length; i++) {
input.changeColorOfRange(i, 1, colors[i % 3]);
}
});
很遗憾,没有changeColorOfRange 函数可以接受字符索引、字符串长度和颜色来执行此操作。
我在 Javascript 中看到了 RTF 编辑器,并且我研究了他们的一些 API,但它们似乎只允许更改所选文本的颜色,而不是通过编程方式更改任意文本区域的颜色。
如何以编程方式更改 contenteditable 元素内任意文本区域的颜色?
【问题讨论】:
-
我不认为我关注你...你能发布一张应该发生的实际行为的图片吗?
标签: javascript jquery html contenteditable