帮助tinymce设置不同的颜色值

时间:2011-02-01 14:52:57

标签: css tinymce

我有一个与tinymce集成的网页,我有这样的文本区域

<textarea name="descripcion" cols="45" rows="10" id="descripcion">
php echo $data->contenido
</textarea>

我想为这个文本区域设置2种不同的字体颜色。

  1. 我想将黑色设置为记录集中的任何内容 php echo $data->contenido

  2. 我想将红色设置为用户在文本区域中手动修改的内容。 我这样做是因为这是一个文档修改,我希望将我们记录中的内容与用户想要更改的内容分开。

  3. 如果有人能告诉我如何设置不同的颜色(记录集附带的颜色和用户写入时的另一种颜色),我真的很感激。

    谢谢

1 个答案:

答案 0 :(得分:0)

实现这一点有点棘手:

在初始化tinymce之前,您可以使用这样的代码将数据库中的所有内容显示为黑色

A)

<textarea name="descripcion" cols="45" rows="10" id="descripcion">
<p>
<?php echo $data->contenido; ?>
</p>
<p><br></p>
</textarea>

b)您需要使用tinymce init parameter content_css

设置编辑器内容css
p { color: black; }

span.edited {
   color: red;
}

为了使用户输入着色,您必须使用类似于已经集成到tinymce中的样式插件提供的机制。这里的困难在于您必须将所有键入的内容包装到编辑的类中。有多种方法可以为您的用户输入着色,但我认为这可能是最有前途的方法。

我建议您每次单击或使用箭头键移动光标时插入这样的跨度。当他们开始输入时,将应用该样式。如果他们不写,而是单击其他地方,则在编辑器清理期间应删除空的跨度。

这是onClick的事件处理程序:

setup : function(ed) {
  ed.onClick.add(function(ed){
     ed.getDoc().execCommand('insertHTML', false, '<span class="edited"></span>');
  });
}