1

我希望用不同的颜色突出显示文本区域中的单词和短语,如下所示:

在此处输入图像描述

你会如何建议我这样做?如果使用 textarea 不可能,您会推荐什么?

我的应用程序将使用此文本区域使客户能够输入短篇故事。应用程序将根据它们的频率对单词和短语进行着色。我会将文本区域中的所有单词存储在一个数组中,例如文本:

"Once upon a time, I met a woman called Nora. She was "

将在内部表示为:

"once", "upon", "a", "time", "i", "met", "a", "woman", "called", "nora", "she", "was". 然后在应用适当的颜色时使用此数组。

我将通过一个单独的问题询问在文本更改时更新数组的有效方法,但在回答这个问题时请记住这一点。

4

2 回答 2

2

textarea 可能是错误的方法。

我建议使用普通的除法或类似的元素,然后将要突出显示的内容<span>用每种颜色的类包装起来。您可以启用contenteditable以允许用户编辑元素内的文本。

例子:

<div contenteditable="true">
    This is some text. I am <span class="blue">highlighting it</span>. It's <span class="yellow">pretty obvious</span> isn't it?
</div>

如果你想要 textarea 的外观,只需在你的 CSS 中将你的样式应用到 textarea 和这个元素。

于 2013-08-06T09:26:04.487 回答
0

将数组中的所有文本显示到 div 元素中。

对于您希望选择的每个元素,将文本包装在 span 元素内。

根据您想要的颜色设置 span 元素的背景颜色。

于 2013-08-06T09:28:33.680 回答