CKEditor 复选框默认值
CKEditor Checkbox Default Value
我正在使用 CKEditor 的增强图像插件 (image2),因为它允许用户插入带标题的图像。但是,默认情况下我无法启用 "captioned image" 复选框。
在下面的代码显示值被选中后设置断点,但继续取消选中它。
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;
if (dialogName == 'image2') {
dialogDefinition.onShow = function() {
captionField = this.getContentElement('info', 'hasCaption');
captionField.setValue('checked');
console.log(captionField);
debugger;
}
}
});
非常感谢任何关于如何在默认情况下勾选 CKEditor 复选框的建议。
更新
我尝试根据 Marek 的回答更新代码以满足我的需要,但 dialogShow
事件似乎没有以这种方式调用。
CKEDITOR.on('dialogShow', function( evt ) {
var dialog = evt.data;
if ( dialog._.name === 'image2' && !dialog.widget.isReady() ) {
console.log('test');
evt.data.getContentElement( 'info', 'hasCaption' ).setValue( true );
}
});
您可以使用 dialogShow
事件修改对话框属性。
CKEDITOR.replace( 'editor1', {
extraPlugins: 'image2',
removePlugins: 'image',
on: {
dialogShow: function( evt ) {
var dialog = evt.data;
if ( dialog._.name === 'image2' && !dialog.widget.isReady() ) {
evt.data.getContentElement( 'info', 'hasCaption' ).setValue( true );
}
}
}
} );
请注意我检查小部件是否实际存在的代码,这是因为如果它正在编辑现有小部件,您不想修改此复选框。
由于我不知道的原因,代码在内置 SO 代码平台中不起作用,所以我所能做的就是删除 codepen link to check the code in action。
我们终于找到了适合您情况的解决方案。您可以在 https://github.com/ckeditor/ckeditor-dev/issues/2277
追踪它
我正在使用 CKEditor 的增强图像插件 (image2),因为它允许用户插入带标题的图像。但是,默认情况下我无法启用 "captioned image" 复选框。
在下面的代码显示值被选中后设置断点,但继续取消选中它。
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;
if (dialogName == 'image2') {
dialogDefinition.onShow = function() {
captionField = this.getContentElement('info', 'hasCaption');
captionField.setValue('checked');
console.log(captionField);
debugger;
}
}
});
非常感谢任何关于如何在默认情况下勾选 CKEditor 复选框的建议。
更新
我尝试根据 Marek 的回答更新代码以满足我的需要,但 dialogShow
事件似乎没有以这种方式调用。
CKEDITOR.on('dialogShow', function( evt ) {
var dialog = evt.data;
if ( dialog._.name === 'image2' && !dialog.widget.isReady() ) {
console.log('test');
evt.data.getContentElement( 'info', 'hasCaption' ).setValue( true );
}
});
您可以使用 dialogShow
事件修改对话框属性。
CKEDITOR.replace( 'editor1', {
extraPlugins: 'image2',
removePlugins: 'image',
on: {
dialogShow: function( evt ) {
var dialog = evt.data;
if ( dialog._.name === 'image2' && !dialog.widget.isReady() ) {
evt.data.getContentElement( 'info', 'hasCaption' ).setValue( true );
}
}
}
} );
请注意我检查小部件是否实际存在的代码,这是因为如果它正在编辑现有小部件,您不想修改此复选框。
由于我不知道的原因,代码在内置 SO 代码平台中不起作用,所以我所能做的就是删除 codepen link to check the code in action。
我们终于找到了适合您情况的解决方案。您可以在 https://github.com/ckeditor/ckeditor-dev/issues/2277
追踪它