在asp.net C#webapp中,我使用的是CKEditor 3.6.2,我遇到了以下问题:
在我的样式表中,我有一个在表中使用的CSS类,我正在尝试将此类填入“表格属性”,“高级”选项卡和“样式表类”字段中。
我想把这个字段填充字符串“blue_table”,这是我的CSS类的名称。我正在使用“table”插件的源代码。我已经想出如何更改宽度和高度等字段的值,但我想要的是“样式表类”字段。
您是否知道为此字段设置默认值?
答案 0 :(得分:2)
您无需编辑ckeditor.js
文件即可自定义编辑器。您可以将以下内容添加到config.js
并在网站范围内或在您使用CKEditor的任何页面上使用它(在您使用的编辑器字段之后,在script
标记内,如下所示)。 / p>
<script type="text/javascript">
CKEDITOR.on( 'dialogDefinition', function( ev ) {
// Take the dialog name and its definition from the event data.
var dialogName = ev.data.name;
var dialogDefinition = ev.data.definition;
// Check if the definition is from the dialog we're
// interested on (the Table dialog).
if ( dialogName == 'table' ) {
// Set the tab
var advTab = dialogDefinition.getContents( 'advanced');
// Grab the field
var stylesField = advTab.get('advCSSClasses');
// Set the default value
stylesField['default'] = 'blue_table';
}
});
</script>
这是从CKEditor documentation修改的。最难的部分是计算对话框中使用的所有字段的ID和名称。
答案 1 :(得分:0)
最后我找到了答案。此属性位于dialogadvtab中的属性“advCSSClasses”中。问题是这个插件位于核心js中,我的意思是ckeditor.js。
我必须这样做:
children :
[
{
id : 'advCSSClasses',
att : 'class',
type : 'text',
label : lang.cssClasses,
'default' : 'blue_table',
setup : setupAdvParams,
commit : commitAdvParams
}
]
“问题”现在是我必须在ckeditor.js中进行,这不是一个好习惯。问题已经解决了,但不是最好的方式。