1

我想向CKEditor添加一个工具栏按钮,显示当前选择的颜色。这可能吗?

到目前为止,我设法通过遵循本教程colorbutton插件添加了一个新的工具栏按钮,但我找不到任何具有动态演示的工具栏按钮的示例。

4

1 回答 1

0

您可以为按钮使用透明图像,并在插件功能中设置按钮跨度的背景颜色。

看起来通过找到带有您分配的标题(工具提示)的锚标记,然后使用id=cke_icon.

这是我的一个插件按钮的 HTML 的样子,未使用按钮调用的特定插件的名称,它的功能被分配了可变功能编号,因此插件名称不可用:

<a id="cke_33" class="cke_off" 
onclick="CKEDITOR.tools.callFunction(71, this); return false;" 
onfocus="return CKEDITOR.tools.callFunction(70, event);" 
onkeydown="return CKEDITOR.tools.callFunction(69, event);" 
onblur="this.style.cssText = this.style.cssText;" aria-haspopup="true" 
aria-labelledby="cke_33_label" role="button" hidefocus="true" tabindex="-1" 
title="Block Background Color">

<span class="cke_icon" style="background-image:url
(/ckeditor_3.6.1/plugins/cwmarcontentbackcolor/images/contentbackcolor16x16.png?t=B5GJ5GG);
background-position:0 0px;"> 
</span>

<span id="cke_33_label" class="cke_label">Block Background Color</span>
<span class="cke_buttonarrow"> </span>

</a>

如果您想在每次用户选择内容区域的一部分时确定颜色,这将是一项相当多的工作,因为他们可以选择具有多种颜色的多个元素。即使他们只是在内容区域中单击,您也可能必须沿着 DOM 树向上查找光标位置继承其颜色的元素。

我为另一个目标不同的问题提供了一个插件,但它涉及每次进行选择时触发,根据选择创建一个对象,然后沿着 DOM 树查看分配给元素的类。您可以修改它以适应您的目标:

如何阻止对CKEDITOR textarea中某些内容的编辑?

于 2012-09-27T00:00:27.320 回答