3

(也在他们的演示页面http://ckeditor.com/demo#inline

为什么会这样?即使我采用他们的内联样本(http://nightly.ckeditor.com/13-02-08-08-51/standard/samples/inlineall.html)并删除标题块的单独工具栏的js代码,我仍然没有对齐选项。

我想为用户提供对齐标题的选项。我错过了什么?

我也没有得到像 BulletedList 这样的其他“阻止”选项,但这不是问题。

更新:要重复该问题,您需要将 contenteditable="true" 应用于标题元素。因此,一种解决方法是用 contenteditable="true" 将标题包装在 div 中。但这对我的情况没有帮助。

4

4 回答 4

6

从 CKEditor 4 开始,您需要 Justify 插件。

  1. 在此处下载 Justify 插件
  2. 将其粘贴到 ckeditor/plugins/
  3. 将插件添加到您的 ckeditor。

这是javascript代码:

$(function() {
    CKEDITOR.config.extraPlugins = 'justify';
});     

你不用多做,Justify插件会自动添加到paragraphtoolbarGroup

编辑

By alignment,我以为你在谈论right|center|left对齐。

在这里,对于 h 标签,我们有这些组:

if ( element.is( 'h1', 'h2', 'h3' ) || element.getAttribute( 'id' ) == 'taglist' ) {
    editor.on( 'configLoaded', function() {
       editor.config.removePlugins = 'colorbutton,find,flash,font,' +
          'forms,iframe,image,newpage,removeformat,scayt,' +
          'smiley,specialchar,stylescombo,templates,wsc';
       editor.config.toolbarGroups = [
          { name: 'editing', groups: [ 'basicstyles', 'links' ] },
          { name: 'undo' },
          { name: 'clipboard', groups: [ 'selection', 'clipboard' ] },
          { name: 'about' }
       ];
    });
}

['basicstyles', 'links', 'undo', 'selection', 'clipboard', 'about'],没有align组,只需添加它。

安装新的 CKEditor 后您无需修改​​任何内容,该组已经在 inline 基本配置中

于 2013-02-11T11:06:35.127 回答
3

h2在可编辑项上启用对齐按钮是不可能的。CKEditor 无法修改可编辑容器,因为从编辑器获取的数据中根本看不到该更改,因为editor.getData()返回innerHTMLnot outerHTML

我也担心不存在简单的旁路。您可以h2使用 editable包装div,设置 enterMode=BR,从工具栏中删除诸如格式组合之类的按钮,但这仍然是不完整的解决方案,因为用户将能够删除它h2,通过粘贴一些块元素将其拆分或以某种方式将其保留并写在外面它。这个问题可能会得到解决,但我想你不想再花一个月了:)。

于 2013-02-12T14:47:10.370 回答
0

所以,一年后我回来并以不同的方式处理它。我使用了 justify 插件,并制作了一个副本,它只适用于原始插件不适用的元素。我不得不对其进行修改以满足我的需要,但是将以下内容注释掉是一个开始(plugin.js):

if ( editor.blockless )
  return;

我不知道这有多有趣,但如果有人需要它,请发表评论,我会发布整个源代码。它基本上将 text-align css 添加到编辑器元素,而不是内部块元素。

于 2014-04-03T11:13:48.597 回答
0

确保您使用的是完整的 CKEditor 版本

于 2014-08-11T08:35:25.680 回答