我编写了一个插件,将bootstrap网格添加到编辑器中。但是当CKEditor内部没有内容时,它似乎删除了整个包装col div。
github上的插件:https://github.com/radko26/CKEditor_layoutmanagerPlugin/tree/master/layoutmanager
这是dom中的默认值。当我删除'内容'时,编辑器会删除包装div-layout-column。
<div class="container-fluid layout-container">
<div class="row layout-row">
<div class="col-xs-3 col-sm-3 col-md-3 col-lg-3 layout-column">
<p>content</p>
</div>
<div class="col-xs-3 col-sm-3 col-md-3 col-lg-3 layout-column">
<p>content</p>
</div>
<div class="col-xs-6 col-sm-6 col-md-6 col-lg-6 layout-column">
<p>content</p>
</div>
</div>
我仔细阅读了这个文档,并且在默认情况下没有剥离div元素,我添加了
config.protectedSource.push(/<div[^>]><\/div>/g);
CKEDITOR.dtd.$removeEmpty['div'] = false;
在config.js。
中http://docs.ckeditor.com/#!/api/CKEDITOR.dtd
我考虑过一种解决方法:在layout-column没有数据的情况下监听编辑器更改,(我必须考虑更多关于该部分),并插入空格以防止编辑器删除它,但我是想知道当编辑器删除div时是否触发了任何事件,或者是否有更简单的方法来解决我的问题。
我尝试了建议的解决方案,但似乎没有一个解决问题。