如何以编程方式设置CKEditor的默认表属性?

如何以编程方式设置CKEditor的默认表属性?,ckeditor,Ckeditor,我试图设置在CKEditor中创建的表的默认属性 例如,是否有办法确保属性边框为0而不是1,或者默认情况下宽度设置为100%。现在开始对话框定义事件解决问题: CKEDITOR.on( 'dialogDefinition', function( ev ) { var dialogName = ev.data.name; var dialogDefinition = ev.data.definition; if ( dialogName == 'table' ) {

我试图设置在CKEditor中创建的表的默认属性


例如,是否有办法确保属性边框为0而不是1,或者默认情况下宽度设置为100%。

现在开始<代码>对话框定义事件解决问题:

CKEDITOR.on( 'dialogDefinition', function( ev ) {
    var dialogName = ev.data.name;
    var dialogDefinition = ev.data.definition;

    if ( dialogName == 'table' ) {
        var info = dialogDefinition.getContents( 'info' );

        info.get( 'txtWidth' )[ 'default' ] = '100%';       // Set default width to 100%
        info.get( 'txtBorder' )[ 'default' ] = '0';         // Set default border to 0
    }
});

CKEDITOR.replace( 'editor1' );
更多内容请阅读:

  • 将帮助您使用dialog API(也可以使用devtools插件)
  • 在CKEditor对话框中查找ID和元素时非常有用

玩得开心

如果您需要在首次创建表格时以及以后编辑表格属性时更改表格选项,则除了“表格”之外,您还需要针对“表格属性”,如下所示:

CKEDITOR.on( 'dialogDefinition', function( ev ) {
var dialogName = ev.data.name;
var dialogDefinition = ev.data.definition;

  if ( dialogName == 'table' || dialogName == 'tableProperties' ) {
      var info = dialogDefinition.getContents( 'info' );

      info.get( 'txtWidth' )[ 'default' ] = '100%';       // Set default width to 100%
      info.get( 'txtBorder' )[ 'default' ] = '0';         // Set default border to 0
  }
});

CKEDITOR.replace( 'editor1' );

这是来自@oleq答案中的@DanH评论。但我认为值得把它放在自己的答案中,因为我在第一次进行此更改时忽略了这一点。

这正是我所需要的(在CKEditor 4中仍然有效)。你提供的链接已经失效,但是你提供的代码示例是正确的(很抱歉,我在CKEditor 4源代码中找不到更新的示例)。谢谢在上述配置上100%有用。我发现这有助于我配置代码以满足我的需要。devTools插件在识别字段名方面非常有用。我更新了链接,使它们重新激活,并与CKEditor 4兼容。在工具栏中单击表格按钮时会触发此事件,但在右键单击表格并选择“表格属性”时不会触发此事件。我从未调用该对话框定义。我什么都试过了。它仍然有效?我发现这个问题和答案非常清楚。不知道为什么会关闭。