我想在ckeditor中创建段落时,会自动添加某个类。我写了这段代码,但它不起作用。
CKEDITOR.on('instanceReady', function (ev) {
var editor = ev.editor;
editor.dataProcessor.htmlFilter.addRules({
elements: {
p: function (el) {
el.addClass('myClass');
}
}
});
});
为什么呢?我怎样才能解决我的问题?
答案 0 :(得分:0)
请使用以下内容。您应该使用dataFilter
而不是htmlFilter
,最好的方法是使用它们,以避免在design / wysiwyg模式下创建没有类的段落,然后切换到源模式或从编辑器中获取数据。
var editor = CKEDITOR.replace( 'editor1', {
language: 'en',
extraPlugins : 'placeholder',
on: {
pluginsLoaded: function( evt ) {
evt.editor.dataProcessor.dataFilter.addRules( {
elements: {
p: function( el ) {
//The Html filter works when you load data into editor.
if(!el.hasClass('nomargins'))
el.addClass('nomargins');
}
}
} );
evt.editor.dataProcessor.htmlFilter.addRules( {
elements: {
p: function( el ) {
//The Html filter works when you get data from editor.
if(!el.hasClass('nomargins'))
el.addClass('nomargins');
}
}
} );
}
}
});