一切! 我有CKEditor的问题! 我需要用div包含ul,ol列表。所以,当我按下面板上的列表按钮时,我会得到这样的结果:
<div class=”dash-list”>
<ul>
<li></li>
</ul>
</div>
答案 0 :(得分:1)
没有重新编写list
插件的最简单方法是在编辑器输出中包装列表:
var wrappable = [];
var editor = CKEDITOR.replace( 'editor1', {
on: {
instanceReady: function() {
this.on( 'toDataFormat', function( evt ) {
var el, wrap;
while ( ( el = wrappable.pop() ) ) {
wrap = el.parent;
// Abort if already wrapped...
if ( wrap && wrap.type == CKEDITOR.NODE_ELEMENT && wrap.attributes[ 'class' ] == 'dash-list' )
return wrap;
// Wrap el...
wrap = new CKEDITOR.htmlParser.element( 'div', { 'class': 'dash-list' } );
el.replaceWith( wrap );
wrap.add( el );
}
}, null, null, 11 );
this.dataProcessor.htmlFilter.addRules( {
elements: {
ul: function( element ) {
wrappable.push( element );
},
ol: function( element ) {
wrappable.push( element );
}
}
} );
}
}
} );