我创建了一个 CKEditor 插件,它使用自定义按钮(而不是样式组合)进行基本的 p、h2、h3、h4 格式设置。它工作得很好,但是如果我取消选中一个元素(例如'h2'),将'div'标签设置为该行的父元素。我想将“p”作为默认元素,并且不能取消选中“p”按钮(除非我单击另一个,例如“h2”按钮)。这怎么可能?
该插件看起来像:
CKEDITOR.plugins.add('stylesbuttons_custom',{
lang:'en',
icons:'p,h2,h3,h4',
init:function(editor){
var order=0;
var addButtonCommand=function(buttonName,buttonLabel,commandName,styleDefiniton){
if (!styleDefiniton)
return;
var style=new CKEDITOR.style(styleDefiniton);
editor.attachStyleStateChange(style,function(state){
!editor.readOnly && editor.getCommand(commandName).setState(state);
});
editor.addCommand(commandName,new CKEDITOR.styleCommand(style));
if (editor.ui.addButton){
editor.ui.addButton(buttonName,{
label:buttonLabel,
command:commandName,
toolbar:'basicstyles,'+(order+=10)
});
}
};
var lang=editor.lang.stylesbuttons_custom;
addButtonCommand('P',lang.p,'p',{element:'p'});
addButtonCommand('H2',lang.h2,'h2',{element:'h2'});
addButtonCommand('H3',lang.h3,'h3',{element:'h3'});
addButtonCommand('H4',lang.h4,'h4',{element:'h4'});
}
});
我像这样加载插件:
config.extraPlugins='stylesbuttons_custom';
我将按钮放在工具栏上,例如:
config.toolbar:[['P','H2','H3','H4','Pre']];
这是有关该问题的屏幕截图: