Javascript Ckeditor-为什么dataProcessor.htmlFilter.addRules不起作用?如何修复它?
我想在ckeditor中创建段落时,自动将某个类添加到其中。我写了这段代码,但它不起作用Javascript Ckeditor-为什么dataProcessor.htmlFilter.addRules不起作用?如何修复它?,javascript,ckeditor,Javascript,Ckeditor,我想在ckeditor中创建段落时,自动将某个类添加到其中。我写了这段代码,但它不起作用 CKEDITOR.on('instanceReady', function (ev) { var editor = ev.editor; editor.dataProcessor.htmlFilter.addRules({ elements: { p: function (el) {
CKEDITOR.on('instanceReady', function (ev) {
var editor = ev.editor;
editor.dataProcessor.htmlFilter.addRules({
elements: {
p: function (el) {
el.addClass('myClass');
}
}
});
});
为什么??我如何解决我的问题?请使用下面的方法。您应该使用
dataFilter
而不是htmlFilter
,最好的方法是同时使用这两种方法,以避免在设计/所见即所得模式下创建没有类的段落,然后切换到源代码模式或从编辑器获取数据
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');
}
}
} );
}
}
});