我有一个与tinymce集成的网页,我有这样的文本区域
<textarea name="descripcion" cols="45" rows="10" id="descripcion">
php echo $data->contenido
</textarea>
我想为这个文本区域设置2种不同的字体颜色。
我想将黑色设置为记录集中的任何内容
php echo $data->contenido
我想将红色设置为用户在文本区域中手动修改的内容。 我这样做是因为这是一个文档修改,我希望将我们记录中的内容与用户想要更改的内容分开。
如果有人能告诉我如何设置不同的颜色(记录集附带的颜色和用户写入时的另一种颜色),我真的很感激。
谢谢
答案 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
设置编辑器内容cssp { 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>');
});
}